diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2011-02-28 11:43:25 +0000 |
---|---|---|
committer | Andrew Stubbs <ams@gcc.gnu.org> | 2011-02-28 11:43:25 +0000 |
commit | 544a301ed4033323b9512fb71ed8c83506c1f0af (patch) | |
tree | 15692d3dc8dd52c1adaba236c6dce5d3c210a4c7 | |
parent | 474086eb101daefa4b529d57ff79a27374084b49 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmiad.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmias.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmdbd.c | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmdbs.c | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmiad.c | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmias.c | 14 |
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" } } */ |