diff options
author | James E Wilson <wilson@specifixinc.com> | 2004-08-17 21:42:44 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2004-08-17 14:42:44 -0700 |
commit | 743a0a34cafa5fe742274f8b36afc3ca948a10f0 (patch) | |
tree | 723739641f016c76c5e59e9fbad19dcb06658850 | |
parent | 67e90093984469e9d9b8573092e09d5ef47decc5 (diff) | |
download | gcc-743a0a34cafa5fe742274f8b36afc3ca948a10f0.zip gcc-743a0a34cafa5fe742274f8b36afc3ca948a10f0.tar.gz gcc-743a0a34cafa5fe742274f8b36afc3ca948a10f0.tar.bz2 |
Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.
* gcc.dg/mips-nmadd-1.c: New test.
* gcc.dg/mips-nmadd-2.c: New test.
From-SVN: r86147
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/mips-nmadd-1.c | 30 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/mips-nmadd-2.c | 30 |
3 files changed, 63 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 74abe0e..1a4dad7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -4,6 +4,9 @@ * gcc.dg/mips-movcc-2.c: New test. * gcc.dg/mips-movcc-3.c: New test. + * gcc.dg/mips-nmadd-1.c: New test. + * gcc.dg/mips-nmadd-2.c: New test. + 2004-08-17 Mark Mitchell <mark@codesourcery.com> PR c++/15871 diff --git a/gcc/testsuite/gcc.dg/mips-nmadd-1.c b/gcc/testsuite/gcc.dg/mips-nmadd-1.c new file mode 100644 index 0000000..1d84042 --- /dev/null +++ b/gcc/testsuite/gcc.dg/mips-nmadd-1.c @@ -0,0 +1,30 @@ +/* { dg-do compile { target "mips*-*-*" } } */ +/* { dg-options "-O2 -ffast-math -mips4" } */ +/* { dg-final { scan-assembler "nmadd.s" } } */ +/* { dg-final { scan-assembler "nmadd.d" } } */ +/* { dg-final { scan-assembler "nmsub.s" } } */ +/* { dg-final { scan-assembler "nmsub.d" } } */ + +float +sub1 (float f, float g, float h) +{ + return -((f * g) + h); +} + +double +sub2 (double f, double g, double h) +{ + return -((f * g) + h); +} + +float +sub3 (float f, float g, float h) +{ + return -((f * g) - h); +} + +double +sub4 (double f, double g, double h) +{ + return -((f * g) - h); +} diff --git a/gcc/testsuite/gcc.dg/mips-nmadd-2.c b/gcc/testsuite/gcc.dg/mips-nmadd-2.c new file mode 100644 index 0000000..d0098cb --- /dev/null +++ b/gcc/testsuite/gcc.dg/mips-nmadd-2.c @@ -0,0 +1,30 @@ +/* { dg-do compile { target "mips*-*-*" } } */ +/* { dg-options "-O2 -mips4" } */ +/* { dg-final { scan-assembler "nmadd.s" } } */ +/* { dg-final { scan-assembler "nmadd.d" } } */ +/* { dg-final { scan-assembler "nmsub.s" } } */ +/* { dg-final { scan-assembler "nmsub.d" } } */ + +float +sub1 (float f, float g, float h) +{ + return -((f * g) + h); +} + +double +sub2 (double f, double g, double h) +{ + return -((f * g) + h); +} + +float +sub3 (float f, float g, float h) +{ + return -((f * g) - h); +} + +double +sub4 (double f, double g, double h) +{ + return -((f * g) - h); +} |