This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- From: Jeff Law <law at redhat dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: Richard Biener <rguenther at suse dot de>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>, Kirill Yukhin <kirill dot yukhin at gmail dot com>, Vladimir Makarov <vmakarov at redhat dot com>, "H. J. Lu" <hjl dot tools at gmail dot com>, Martin Jambor <mjambor at suse dot de>
- Date: Fri, 9 Aug 2019 16:03:40 -0600
- Subject: Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- References: <alpine.LSU.email@example.com> <firstname.lastname@example.org> <CAFULd4bpXzw0m4rzhwU6sb4WFLiBPE7jp6P0fnwmQtZuXXJdiA@mail.gmail.com>
On 7/27/19 3:22 AM, Uros Bizjak wrote:
> On Wed, Jul 24, 2019 at 5:03 PM Jeff Law <email@example.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.
> 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.