aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2011-02-28 11:43:25 +0000
committerAndrew Stubbs <ams@gcc.gnu.org>2011-02-28 11:43:25 +0000
commit544a301ed4033323b9512fb71ed8c83506c1f0af (patch)
tree15692d3dc8dd52c1adaba236c6dce5d3c210a4c7
parent474086eb101daefa4b529d57ff79a27374084b49 (diff)
downloadgcc-544a301ed4033323b9512fb71ed8c83506c1f0af.zip
gcc-544a301ed4033323b9512fb71ed8c83506c1f0af.tar.gz
gcc-544a301ed4033323b9512fb71ed8c83506c1f0af.tar.bz2
vfp-ldmdbd.c, [...]: New.
2011-02-28 Kazu Hirata <kazu@codesourcery.com> gcc/testsuite/ * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c, gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c, gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c, gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New. From-SVN: r170559
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmiad.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmias.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmdbd.c14
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmdbs.c14
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmiad.c14
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmias.c14
9 files changed, 123 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b3b1a27..213e9c2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c,
+ gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c,
+ gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c,
+ gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New.
+
2011-02-28 Jason Merrill <jason@redhat.com>
PR c++/47906
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c b/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
new file mode 100644
index 0000000..c540108
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+extern void bar (double);
+
+void
+foo (double *p, double a, int n)
+{
+ do
+ bar (*--p + a);
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fldmdbd" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c b/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
new file mode 100644
index 0000000..83849c8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+extern void baz (float);
+
+void
+foo (float *p, float a, int n)
+{
+ do
+ bar (*--p + a);
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fldmdbs" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c b/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
new file mode 100644
index 0000000..1f84919
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+extern void bar (double);
+
+void
+foo (double *p, double a, int n)
+{
+ do
+ bar (*p++ + a);
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fldmiad" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmias.c b/gcc/testsuite/gcc.target/arm/vfp-ldmias.c
new file mode 100644
index 0000000..061cdd9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmias.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+extern void baz (float);
+
+void
+foo (float *p, float a, int n)
+{
+ do
+ bar (*p++ + a);
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fldmias" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c b/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
new file mode 100644
index 0000000..f80c403
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+void
+foo (double *p, double a, double b, int n)
+{
+ double c = a + b;
+ do
+ *--p = c;
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fstmdbd" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c b/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
new file mode 100644
index 0000000..79b3c81
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+void
+foo (float *p, float a, float b, int n)
+{
+ float c = a + b;
+ do
+ *--p = c;
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fstmdbs" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmiad.c b/gcc/testsuite/gcc.target/arm/vfp-stmiad.c
new file mode 100644
index 0000000..20742c2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmiad.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+void
+foo (double *p, double a, double b, int n)
+{
+ double c = a + b;
+ do
+ *p++ = c;
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fstmiad" } } */
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmias.c b/gcc/testsuite/gcc.target/arm/vfp-stmias.c
new file mode 100644
index 0000000..05ce399
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmias.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+
+void
+foo (float *p, float a, float b, int n)
+{
+ float c = a + b;
+ do
+ *p++ = c;
+ while (n--);
+}
+
+/* { dg-final { scan-assembler "fstmias" } } */