diff options
author | alalaw01 <alalaw01@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-22 16:02:32 +0000 |
---|---|---|
committer | alalaw01 <alalaw01@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-22 16:02:32 +0000 |
commit | 8ec9c1029176e0eaf568596310fbde3fe3206993 (patch) | |
tree | 2ffcd6d41bd26c333f30cc4306a292c1d6783f9c /gcc | |
parent | 4c3697c806cb96cfb548cdf8e5621a07b4e1cf75 (diff) | |
download | gcc-8ec9c1029176e0eaf568596310fbde3fe3206993.tar.gz |
Fix vext[us]64_1.c test on ARM by unsharing test body.
* gcc.target/arm/simd/vexts64_1.c: Remove #include, inline test body.
* gcc.target/arm/simd/vextu64_1.c: Likewise.
* gcc.target/aarch64/simd/ext_s64_1.c: Likewise.
* gcc.target/aarch64/simd/ext_u64_1.c: Likewise.
* gcc.target/aarch64/simd/ext_s64.x: Remove.
* gcc.target/aarch64/simd/ext_u64.x: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212914 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/simd/ext_u64.x | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/simd/vexts64_1.c | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/simd/vextu64_1.c | 17 |
7 files changed, 73 insertions, 38 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3bb59a60ddf..c68ce3c3d35 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2014-07-22 Alan Lawrence <alan.lawrence@arm.com> + + * gcc.target/arm/simd/vexts64_1.c: Remove #include, inline test body. + * gcc.target/arm/simd/vextu64_1.c: Likewise. + * gcc.target/aarch64/simd/ext_s64_1.c: Likewise. + * gcc.target/aarch64/simd/ext_u64_1.c: Likewise. + * gcc.target/aarch64/simd/ext_s64.x: Remove. + * gcc.target/aarch64/simd/ext_u64.x: Remove. + 2014-07-22 Yuri Rumyantsev <ysrumyan@gmail.com> PR tree-optimization/61822 diff --git a/gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x b/gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x deleted file mode 100644 index b879fdacaa6..00000000000 --- a/gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x +++ /dev/null @@ -1,17 +0,0 @@ -extern void abort (void); - -int -main (int argc, char **argv) -{ - int i, off; - int64_t arr1[] = {0}; - int64x1_t in1 = vld1_s64 (arr1); - int64_t arr2[] = {1}; - int64x1_t in2 = vld1_s64 (arr2); - int64x1_t actual = vext_s64 (in1, in2, 0); - if (actual[0] != in1[0]) - abort (); - - return 0; -} - diff --git a/gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c b/gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c index 1e2748d9743..5d246978345 100644 --- a/gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c +++ b/gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c @@ -4,7 +4,22 @@ /* { dg-options "-save-temps -O3 -fno-inline" } */ #include "arm_neon.h" -#include "ext_s64.x" + +extern void abort (void); + +int +main (int argc, char **argv) +{ + int64_t arr1[] = {0}; + int64x1_t in1 = vld1_s64 (arr1); + int64_t arr2[] = {1}; + int64x1_t in2 = vld1_s64 (arr2); + int64x1_t actual = vext_s64 (in1, in2, 0); + if (actual[0] != in1[0]) + abort (); + + return 0; +} /* Do not scan-assembler. An EXT instruction could be emitted, but would merely return its first argument, so it is legitimate to optimize it out. */ diff --git a/gcc/testsuite/gcc.target/aarch64/simd/ext_u64.x b/gcc/testsuite/gcc.target/aarch64/simd/ext_u64.x deleted file mode 100644 index bd51e27c215..00000000000 --- a/gcc/testsuite/gcc.target/aarch64/simd/ext_u64.x +++ /dev/null @@ -1,17 +0,0 @@ -extern void abort (void); - -int -main (int argc, char **argv) -{ - int i, off; - uint64_t arr1[] = {0}; - uint64x1_t in1 = vld1_u64 (arr1); - uint64_t arr2[] = {1}; - uint64x1_t in2 = vld1_u64 (arr2); - uint64x1_t actual = vext_u64 (in1, in2, 0); - if (actual[0] != in1[0]) - abort (); - - return 0; -} - diff --git a/gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c b/gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c index e6779f70bc7..644b7320256 100644 --- a/gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c +++ b/gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c @@ -4,7 +4,22 @@ /* { dg-options "-save-temps -O3 -fno-inline" } */ #include "arm_neon.h" -#include "ext_u64.x" + +extern void abort (void); + +int +main (int argc, char **argv) +{ + uint64_t arr1[] = {0}; + uint64x1_t in1 = vld1_u64 (arr1); + uint64_t arr2[] = {1}; + uint64x1_t in2 = vld1_u64 (arr2); + uint64x1_t actual = vext_u64 (in1, in2, 0); + if (actual[0] != in1[0]) + abort (); + + return 0; +} /* Do not scan-assembler. An EXT instruction could be emitted, but would merely return its first argument, so it is legitimate to optimize it out. */ diff --git a/gcc/testsuite/gcc.target/arm/simd/vexts64_1.c b/gcc/testsuite/gcc.target/arm/simd/vexts64_1.c index 7bb20121988..10053a5e398 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vexts64_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vexts64_1.c @@ -6,7 +6,22 @@ /* { dg-add-options arm_neon } */ #include "arm_neon.h" -#include "../../aarch64/simd/ext_s64.x" + +extern void abort (void); + +int +main (int argc, char **argv) +{ + int64_t arr1[] = {0}; + int64x1_t in1 = vld1_s64 (arr1); + int64_t arr2[] = {1}; + int64x1_t in2 = vld1_s64 (arr2); + int64x1_t actual = vext_s64 (in1, in2, 0); + if (actual != in1) + abort (); + + return 0; +} /* Don't scan assembler for vext - it can be optimized into a move from r0. */ /* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc/testsuite/gcc.target/arm/simd/vextu64_1.c b/gcc/testsuite/gcc.target/arm/simd/vextu64_1.c index 39ffc56cba7..eeb0be2732c 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vextu64_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vextu64_1.c @@ -6,7 +6,22 @@ /* { dg-add-options arm_neon } */ #include "arm_neon.h" -#include "../../aarch64/simd/ext_u64.x" + +extern void abort (void); + +int +main (int argc, char **argv) +{ + uint64_t arr1[] = {0}; + uint64x1_t in1 = vld1_u64 (arr1); + uint64_t arr2[] = {1}; + uint64x1_t in2 = vld1_u64 (arr2); + uint64x1_t actual = vext_u64 (in1, in2, 0); + if (actual != in1) + abort (); + + return 0; +} /* Don't scan assembler for vext - it can be optimized into a move from r0. */ /* { dg-final { cleanup-saved-temps } } */ |