[Bug target/84033] powerpc64le -moptimize-swaps bad code with vec_vbpermq

amodra at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 29 04:23:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84033

--- Comment #4 from Alan Modra <amodra at gcc dot gnu.org> ---
Author: amodra
Date: Mon Jan 29 04:23:00 2018
New Revision: 257135

URL: https://gcc.gnu.org/viewcvs?rev=257135&root=gcc&view=rev
Log:
PR84033, powerpc64le -moptimize-swaps bad code with vec_vbpermq

vbpermq produces its output in bits 48..63 of the target vector reg,
so the output cannot be lane swapped.

gcc/
        PR target/84033
        * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude
        UNSPEC_VBPERMQ.
gcc/testsuite/
        PR target/84033
        * gcc.target/powerpc/swaps-p8-46.c: New.

Backport svn r257070

Added:
    branches/gcc-7-branch/gcc/testsuite/gcc.target/powerpc/swaps-p8-46.c
Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/rs6000/rs6000.c
    branches/gcc-7-branch/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list