diff options
author | Alex Velenko <Alex.Velenko@arm.com> | 2014-01-20 18:35:36 +0000 |
---|---|---|
committer | Marcus Shawcroft <mshawcroft@gcc.gnu.org> | 2014-01-20 18:35:36 +0000 |
commit | ede232728f61c2892699d22dd304845f41897411 (patch) | |
tree | 76cb6eccfdd0afc580f8ff5fadc76ce74a213a6a /gcc | |
parent | 201b7ecd2509a48951347b9f1ff366aabbc04b7e (diff) | |
download | gcc-ede232728f61c2892699d22dd304845f41897411.zip gcc-ede232728f61c2892699d22dd304845f41897411.tar.gz gcc-ede232728f61c2892699d22dd304845f41897411.tar.bz2 |
[AArch64] Disable vec_perm patterns for aarch64_be.
From-SVN: r206851
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-simd.md | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 9 |
4 files changed, 18 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a57bffe..7815479 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-20 Alex Velenko <Alex.Velenko@arm.com> + + * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check. + 2014-01-20 Jakub Jelinek <jakub@redhat.com> PR middle-end/59860 diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index bc47a29..43a9c5b 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -3840,7 +3840,7 @@ (match_operand:VB 1 "register_operand") (match_operand:VB 2 "register_operand") (match_operand:VB 3 "register_operand")] - "TARGET_SIMD" + "TARGET_SIMD && !BYTES_BIG_ENDIAN" { aarch64_expand_vec_perm (operands[0], operands[1], operands[2], operands[3]); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8f66ea9..073e20c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-01-20 Alex Velenko <Alex.Velenko@arm.com> + + * lib/target-supports.exp + (check_effective_target_vect_perm): Exclude aarch64_be. + (check_effective_target_vect_perm_byte): Likewise. + (check_effective_target_vect_perm_short): Likewise. + 2013-01-20 Alex Velenko <Alex.Velenko@arm.com> * gcc.target/aarch64/vneg_f.c (STORE_INST): New macro. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index ebb28ae..eea0c2e 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3440,7 +3440,8 @@ proc check_effective_target_vect_perm { } { } else { set et_vect_perm_saved 0 if { [is-effective-target arm_neon_ok] - || [istarget aarch64*-*-*] + || ([istarget aarch64*-*-*] + && [is-effective-target aarch64_little_endian]) || [istarget powerpc*-*-*] || [istarget spu-*-*] || [istarget i?86-*-*] @@ -3468,7 +3469,8 @@ proc check_effective_target_vect_perm_byte { } { set et_vect_perm_byte_saved 0 if { ([is-effective-target arm_neon_ok] && [is-effective-target arm_little_endian]) - || [istarget aarch64*-*-*] + || ([istarget aarch64*-*-*] + && [is-effective-target aarch64_little_endian]) || [istarget powerpc*-*-*] || [istarget spu-*-*] } { set et_vect_perm_byte_saved 1 @@ -3492,7 +3494,8 @@ proc check_effective_target_vect_perm_short { } { set et_vect_perm_short_saved 0 if { ([is-effective-target arm_neon_ok] && [is-effective-target arm_little_endian]) - || [istarget aarch64*-*-*] + || ([istarget aarch64*-*-*] + && [is-effective-target aarch64_little_endian]) || [istarget powerpc*-*-*] || [istarget spu-*-*] } { set et_vect_perm_short_saved 1 |