On Thu, Jan 25, 2018 at 08:39:21PM +1030, Alan Modra wrote: > vbpermq produces its output in bits 48..63 of the target vector reg, > so the output cannot be lane swapped. Bootstrapped and regression > tested powerpc64le-linux. OK to apply mainline, and backport to the > branches? > > gcc/ > PR target/84033 > * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Exclude > UNSPEC_VBPERMQ. Sort other unspecs. > gcc/testsuite/ > PR target/84033 > * gcc.target/powerpc/swaps-p8-46.c: New.
> --- /dev/null > +++ b/gcc/testsuite/gcc.target/powerpc/swaps-p8-46.c > @@ -0,0 +1,34 @@ > +/* { dg-do run { target { powerpc64le-*-* } } } */ /* { dg-do run { target { lp64 } } } */ would be better, since you only care whether you are running 64-bit (and the target triple does not tell you; although standard configs for powerpc64le pretty much enforce it, of course). Okay for trunk with or without that change; okay for the branches after looking for fallout. Thanks! Segher