Reimplement AArch64 TRN intrinsics with __builtin_shuffle.
authorAlan Lawrence <alan.lawrence@arm.com>
Wed, 7 May 2014 10:40:41 +0000 (10:40 +0000)
committerAlan Lawrence <alalaw01@gcc.gnu.org>
Wed, 7 May 2014 10:40:41 +0000 (10:40 +0000)
commit1d175503d523c7c2404393bbdc08f4dd4cdb9054
treea59b43717b984de6a549967347d78dde038ae529
parente2d87487ff4432a974c8b0d09a06e35935e9eb83
Reimplement AArch64 TRN intrinsics with __builtin_shuffle.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/vtrns32.c: Expect zip[12] insn rather than trn[12].
* gcc.target/aarch64/vtrnu32.c: Likewise.
* gcc.target/aarch64/vtrnf32.c: Likewise.

gcc/ChangeLog:

* config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.

From-SVN: r210151
gcc/ChangeLog
gcc/config/aarch64/arm_neon.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/simd/vtrnf32_1.c
gcc/testsuite/gcc.target/aarch64/simd/vtrns32_1.c
gcc/testsuite/gcc.target/aarch64/simd/vtrnu32_1.c