OSDN Git Service

2011-10-10 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Oct 2011 14:25:34 +0000 (14:25 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Oct 2011 14:25:34 +0000 (14:25 +0000)
PR middle-end/50195
* fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
only when optimizing.

* gcc.dg/builtins-47.c: Optimize.

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

gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-47.c

index a28c1e2..1c78a67 100644 (file)
@@ -1,3 +1,9 @@
+2011-10-10  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50195
+       * fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
+       only when optimizing.
+
 2011-10-10  Nick Clifton  <nickc@redhat.com>
 
        PR middle-end/49801
index 7568c6f..5b0fea7 100644 (file)
@@ -10693,9 +10693,9 @@ fold_binary_loc (location_t loc,
                    }
                }
 
-             /* Optimize x*x as pow(x,2.0), which is expanded as x*x.  */
+             /* Canonicalize x*x as pow(x,2.0), which is expanded as x*x.  */
              if (!in_gimple_form
-                 && optimize_function_for_speed_p (cfun)
+                 && optimize
                  && operand_equal_p (arg0, arg1, 0))
                {
                  tree powfn = mathfn_built_in (type, BUILT_IN_POW);
index d0700e9..7d978b8 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-10  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50195
+       * gcc.dg/builtins-47.c: Optimize.
+
 2011-10-10  Aldy Hernandez  <aldyh@redhat.com>
 
        * lib/gcc-simulate-thread.exp: New.
index b25ee1b..9513483 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-ffast-math -fdump-tree-gimple" } */
+/* { dg-options "-O -ffast-math -fdump-tree-gimple" } */
 
 extern double sqrt (double);
 extern double pow (double, double);