Avoid is_constant calls in vectorizable_bswap
commitaedceb0564ae41578fa997fec052deee7c9ad195
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Aug 2018 13:06:09 +0000 (24 13:06 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Aug 2018 13:06:09 +0000 (24 13:06 +0000)
tree1199c644ada18f8864e7a19909236e5647c67382
parent66697aaede2edd7729979b7abe3c5e6967709c12
Avoid is_constant calls in vectorizable_bswap

The "new" VEC_PERM_EXPR handling makes it easy to support bswap
for variable-length vectors.

2018-08-24  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vect-stmts.c (vectorizable_bswap): Handle variable-length
vectors.

gcc/testsuite/
* gcc.target/aarch64/sve/bswap_1.c: New test.
* gcc.target/aarch64/sve/bswap_2.c: Likewise.
* gcc.target/aarch64/sve/bswap_3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263833 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/bswap_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/bswap_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/bswap_3.c [new file with mode: 0644]
gcc/tree-vect-stmts.c