summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authoralalaw01 <alalaw01@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-22 16:02:32 +0000
committeralalaw01 <alalaw01@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-22 16:02:32 +0000
commit8ec9c1029176e0eaf568596310fbde3fe3206993 (patch)
tree2ffcd6d41bd26c333f30cc4306a292c1d6783f9c /gcc
parent4c3697c806cb96cfb548cdf8e5621a07b4e1cf75 (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x17
-rw-r--r--gcc/testsuite/gcc.target/aarch64/simd/ext_s64_1.c17
-rw-r--r--gcc/testsuite/gcc.target/aarch64/simd/ext_u64.x17
-rw-r--r--gcc/testsuite/gcc.target/aarch64/simd/ext_u64_1.c17
-rw-r--r--gcc/testsuite/gcc.target/arm/simd/vexts64_1.c17
-rw-r--r--gcc/testsuite/gcc.target/arm/simd/vextu64_1.c17
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 } } */