aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmol Pise <amolpise15@gmail.com>2013-01-28 10:45:41 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2013-01-28 10:45:41 +0000
commit25350308a5373048daf6718da30eac968f59213a (patch)
tree6890e867dbb276a1069e714ec605c4689d2e3a2c
parent706b2314ddecd4772f67c8e15037c545d201165f (diff)
downloadgcc-25350308a5373048daf6718da30eac968f59213a.zip
gcc-25350308a5373048daf6718da30eac968f59213a.tar.gz
gcc-25350308a5373048daf6718da30eac968f59213a.tar.bz2
For Amol Pise.
2013-01-27 Amol Pise <amolpise15@gmail.com> * gcc.target/arm/neon-vfnms-1.c: New test. * gcc.target/arm/neon-vfnma-1.c: New test. From-SVN: r195503
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/arm/neon-vfnma-1.c12
-rw-r--r--gcc/testsuite/gcc.target/arm/neon-vfnms-1.c12
3 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e5e1949..3b3df08 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-27 Amol Pise <amolpise15@gmail.com>
+
+ * gcc.target/arm/neon-vfnms-1.c: New test.
+ * gcc.target/arm/neon-vfnma-1.c: New test.
+
2013-01-27 Uros Bizjak <ubizjak@gmail.com>
PR target/56114
diff --git a/gcc/testsuite/gcc.target/arm/neon-vfnma-1.c b/gcc/testsuite/gcc.target/arm/neon-vfnma-1.c
new file mode 100644
index 0000000..ce31662
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon-vfnma-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_neonv2_ok } */
+/* { dg-options "-O2 -ftree-vectorize -ffast-math" } */
+/* { dg-add-options arm_neonv2 } */
+/* { dg-final { scan-assembler "vfnma\\.f32\[ \]+\[dDqQ]" } } */
+
+/* Verify that VFNMA is used. */
+void f1(int n, float a, float x[], float y[]) {
+ int i;
+ for (i = 0; i < n; ++i)
+ y[i] = a * -x[i] - y[i];
+}
diff --git a/gcc/testsuite/gcc.target/arm/neon-vfnms-1.c b/gcc/testsuite/gcc.target/arm/neon-vfnms-1.c
new file mode 100644
index 0000000..c48a707
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon-vfnms-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_neonv2_ok } */
+/* { dg-options "-O2 -ftree-vectorize -ffast-math" } */
+/* { dg-add-options arm_neonv2 } */
+/* { dg-final { scan-assembler "vfnms\\.f32\[ \]+\[dDqQ]" } } */
+
+/* Verify that VFNMS is used. */
+void f1(int n, float a, float x[], float y[]) {
+ int i;
+ for (i = 0; i < n; ++i)
+ y[i] = a * x[i] - y[i];
+}