OSDN Git Service

Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2004 21:42:44 +0000 (21:42 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2004 21:42:44 +0000 (21:42 +0000)
* gcc.dg/mips-nmadd-1.c: New test.
* gcc.dg/mips-nmadd-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86147 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/mips-nmadd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/mips-nmadd-2.c [new file with mode: 0644]

index 74abe0e..1a4dad7 100644 (file)
@@ -4,6 +4,9 @@
        * gcc.dg/mips-movcc-2.c: New test.
        * gcc.dg/mips-movcc-3.c: New test.
 
        * 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
 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 (file)
index 0000000..1d84042
--- /dev/null
@@ -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 (file)
index 0000000..d0098cb
--- /dev/null
@@ -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);
+}