From: James E Wilson Date: Tue, 17 Aug 2004 21:42:44 +0000 (+0000) Subject: Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=743a0a34cafa5fe742274f8b36afc3ca948a10f0;p=gcc.git 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 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 74abe0e4657..1a4dad700e0 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 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 00000000000..1d84042b1f3 --- /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 00000000000..d0098cbeb98 --- /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); +}