Hi!
On Fri, Nov 10, 2017 at 06:03:29PM -0500, Michael Meissner wrote:
> On Fri, Nov 10, 2017 at 11:45:23AM -0600, Segher Boessenkool wrote:
> > > After a burn-in period, I plan to backport a reduced version of the patch
> > > (XXBRD only) to gcc 7, unless you think it shouldn't go into gcc 7.
> >
> > Well, why do we want it on 7?
>
> Advanced customers and the kernel team using pre-production power9 servers
> have
> asked for it. Since GCC 8 likely won't be out for several months, I figured
> to
> ask for it to go into GCC 7.
Well, convince me (off-list, if you want).
> > > +(define_insn "bswapdi2_xxbrd"
> > > + [(set (match_operand:DI 0 "gpc_reg_operand" "=wo")
> > > + (bswap:DI (match_operand:DI 1 "gpc_reg_operand" "wo")))]
> > > + "TARGET_POWERPC64 && TARGET_P9_VECTOR"
> > > + "xxbrd %x0,%x1"
> > > + [(set_attr "type" "vecperm")])
> >
> > This doesn't need TARGET_POWERPC64 I think.
> >
> > Please look at that. The patch is okay for trunk. Thanks!
>
> I removed the test for POWERPC64. It isn't needed, but I don't have any way
> of
> testing whether the resulting code is slower or faster. I'll attach the patch
> of the changes I checked in.
> + if (TARGET_P9_VECTOR && !MEM_P (src) && !MEM_P (dest))
> + {
> + emit_insn (gen_bswapdi2_xxbrd (dest, src));
> + DONE;
> + }
That's not what I asked -- just remove the TARGET_POWERPC from the insn,
you shouldn't change the expander (unless it really works better? I doubt
it though).
Segher