re PR rtl-optimization/41574 (Distribute floating point expressions causes bad code...
authorDoug Kwan <dougkwan@google.com>
Thu, 8 Oct 2009 22:16:58 +0000 (22:16 +0000)
committerDoug Kwan <dougkwan@gcc.gnu.org>
Thu, 8 Oct 2009 22:16:58 +0000 (22:16 +0000)
2009-10-08  Doug Kwan  <dougkwan@google.com>

PR rtl-optimization/41574
* gcc.dg/pr41574.c: New test.

From-SVN: r152580

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr41574.c [new file with mode: 0644]

index 65e739f..f7872c9 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-08  Doug Kwan  <dougkwan@google.com>
+
+       PR rtl-optimization/41574
+       * gcc.dg/pr41574.c: New test.
+
 2009-10-08  Cary Coutant  <ccoutant@google.com>
 
        Add support for debugging with ICF (Identical Code Folding).
diff --git a/gcc/testsuite/gcc.dg/pr41574.c b/gcc/testsuite/gcc.dg/pr41574.c
new file mode 100644 (file)
index 0000000..f5ddcb2
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-unsafe-math-optimizations -fdump-rtl-combine" { target { arm*-*-* } } } */
+/* { dg-options "-O2 -fno-unsafe-math-optimizations -fdump-rtl-combine" { target { ! arm*-*-* } } } */
+
+
+static const double one=1.0;
+
+double
+f(double x)
+{
+  return x*(one+x);
+}
+
+/* { dg-final { scan-rtl-dump-not "\\(plus:DF \\(mult:DF" "combine" } } */
+/* { dg-final { cleanup-rtl-dump "combine*" } } */