This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
On Mon, Aug 5, 2019 at 3:04 PM Richard Biener <rguenther@suse.de> wrote:
>
> On Mon, 5 Aug 2019, Uros Bizjak wrote:
>
> > On Mon, Aug 5, 2019 at 2:54 PM Jakub Jelinek <jakub@redhat.com> wrote:
> > >
> > > On Mon, Aug 05, 2019 at 02:51:01PM +0200, Uros Bizjak wrote:
> > > > > (define_mode_iterator MAXMIN_IMODE [SI "TARGET_SSE4_1"] [DI "TARGET_AVX512F"])
> > > > >
> > > > > and then we need to split DImode for 32bits, too.
> > > >
> > > > For now, please add "TARGET_64BIT && TARGET_AVX512F" for DImode
> > > > condition, I'll provide _doubleword splitter later.
> > >
> > > Shouldn't that be TARGET_AVX512VL instead? Or does the insn use %g0 etc.
> > > to force use of %zmmN?
> >
> > It generates V4SI mode, so - yes, AVX512VL.
>
> case SMAX:
> case SMIN:
> case UMAX:
> case UMIN:
> if ((mode == DImode && (!TARGET_64BIT || !TARGET_AVX512VL))
> || (mode == SImode && !TARGET_SSE4_1))
> return false;
>
> so there's no way to use AVX512VL for 32bit?
There is a way, but on 32bit targets, we need to split DImode
operation to a sequence of SImode operations for unconverted pattern.
This is of course doable, but somehow more complex than simply
emitting a DImode compare + DImode cmove, which is what current
splitter does. So, a follow-up task.
Uros.
- References:
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs
- Re: [PATCH][RFC][x86] Fix PR91154, add SImode smax, allow SImode add in SSE regs