On 7/27/19 3:22 AM, Uros Bizjak wrote: > On Wed, Jul 24, 2019 at 5:03 PM Jeff Law <l...@redhat.com> wrote: > >>> Clearly this approach will run into register allocation issues >>> but it looks cleaner than writing yet another STV-like pass >>> (STV itself is quite awkwardly structured so I refrain from >>> touching it...). >>> >>> Anyway - comments? It seems to me that MMX-in-SSE does >>> something very similar. >>> >>> Bootstrapped on x86_64-unknown-linux-gnu, previous testing >>> revealed some issue. Forgot that *add<mode>_1 also handles >>> DImode..., fixed below, re-testing in progress. >> Certainly simpler than most of the options and seems effective. >> >> FWIW, I think all the STV code is still disabled and has been for >> several releases. One could make an argument it should get dropped. If >> someone wants to make something like STV work, they can try again and >> hopefully learn from the problems with the first implementation. > > Huh? > > STV code is *enabled by default* on 32bit SSE2 targets, and works > surprisingly well (*) for DImode arithmetic, logic and constant shift > operations. Even 32bit multilib on x86_64 is built with STV. I must be mis-remembering or confusing it with something else. Sorry for any confusion.
Jeff