[ARM] Vectorise bswap* in aarch32.
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 27 May 2014 10:56:25 +0000 (10:56 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 27 May 2014 10:56:25 +0000 (10:56 +0000)
commit7a10ea9f108c45e576962256c061786ff1a1b3e8
treeb7c5eab3dc01907e3d66be6a8a775c390caa8e3a
parent597f59975ce15635260a58533e436748c9600c36
[ARM] Vectorise bswap* in aarch32.

* config/arm/neon.md (neon_bswap<mode>): New pattern.
* config/arm/arm.c (neon_itype): Add NEON_BSWAP.
(arm_init_neon_builtins): Handle NEON_BSWAP.
Define required type nodes.
(arm_expand_neon_builtin): Handle NEON_BSWAP.
(arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
* config/arm/arm_neon_builtins.def (bswap): Define builtins.
* config/arm/iterators.md (VDQHSD): New mode iterator.

* lib/target-supports.exp (check_effective_target_vect_bswap):
Specify arm*-*-* support.

From-SVN: r210967
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm_neon_builtins.def
gcc/config/arm/iterators.md
gcc/config/arm/neon.md
gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp