From d671e22fc01af1fc467df7aeec5b4550f482bc73 Mon Sep 17 00:00:00 2001 From: rguenth Date: Thu, 28 Apr 2016 07:55:33 +0000 Subject: [PATCH] 2016-04-28 Richard Biener PR middle-end/70777 * fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0) canonicalization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235545 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/fold-const.c | 18 ------------------ 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4f30dd3587f4..face26bdced7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-04-28 Richard Biener + + PR middle-end/70777 + * fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0) + canonicalization. + 2016-04-28 Oleg Endo * common/config/sh/sh-common.c: Remove SH5 support. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 7fc23c6c3d52..96d8484c1eb7 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -10033,24 +10033,6 @@ fold_binary_loc (location_t loc, && TREE_CODE (arg1) == CONJ_EXPR && operand_equal_p (arg0, TREE_OPERAND (arg1, 0), 0)) return fold_mult_zconjz (loc, type, arg0); - - if (flag_unsafe_math_optimizations) - { - - /* Canonicalize x*x as pow(x,2.0), which is expanded as x*x. */ - if (!in_gimple_form - && optimize - && operand_equal_p (arg0, arg1, 0)) - { - tree powfn = mathfn_built_in (type, BUILT_IN_POW); - - if (powfn) - { - tree arg = build_real (type, dconst2); - return build_call_expr_loc (loc, powfn, 2, arg0, arg); - } - } - } } goto associate; -- 2.47.3