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