]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/aarch64/iterators.md
[AArch64] Vectorise bswap[16,32,64]
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 24 Apr 2014 08:05:07 +0000 (08:05 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 24 Apr 2014 08:05:07 +0000 (08:05 +0000)
commitc7f28cd58e12391f8e4e5c50968ed1c76ddbddb0
treed75eb1689e288d18f6af7502ba97ab07a3ee2e05
parentb041949151f3ba686dc6e8fe0ced121aef9347f2
[AArch64] Vectorise bswap[16,32,64]

* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
* config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
* config/aarch64/aarch64-simd-builtins.def: Define vector bswap
builtins.
* config/aarch64/iterator.md (VDQHSD): New mode iterator.
(Vrevsuff): New mode attribute.

* lib/target-supports.exp (check_effective_target_vect_bswap): New.
* gcc.dg/vect/vect-bswap16: New test.
* gcc.dg/vect/vect-bswap32: Likewise.
* gcc.dg/vect/vect-bswap64: Likewise.

From-SVN: r209736
gcc/ChangeLog
gcc/config/aarch64/aarch64-builtins.c
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/iterators.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-bswap16.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-bswap32.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-bswap64.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp