re PR tree-optimization/69556 (forwprop4/match.pd undoing work from recip)
2016-02-01 Richard Biener <rguenther@suse.de> PR middle-end/69556 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use. * gcc.dg/tree-ssa/recip-8.c: New testcase. From-SVN: r233040
This commit is contained in:
parent
bc369dbd3f
commit
ff86345f83
4 changed files with 25 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/69556
|
||||
* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
|
||||
|
||||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/69574
|
||||
|
|
|
@ -445,8 +445,9 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
|
|||
|
||||
/* Fold (C1/X)*C2 into (C1*C2)/X. */
|
||||
(simplify
|
||||
(mult (rdiv:s REAL_CST@0 @1) REAL_CST@2)
|
||||
(if (flag_associative_math)
|
||||
(mult (rdiv@3 REAL_CST@0 @1) REAL_CST@2)
|
||||
(if (flag_associative_math
|
||||
&& single_use (@3))
|
||||
(with
|
||||
{ tree tem = const_binop (MULT_EXPR, type, @0, @2); }
|
||||
(if (tem)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/69556
|
||||
* gcc.dg/tree-ssa/recip-8.c: New testcase.
|
||||
|
||||
2016-02-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/69574
|
||||
|
|
12
gcc/testsuite/gcc.dg/tree-ssa/recip-8.c
Normal file
12
gcc/testsuite/gcc.dg/tree-ssa/recip-8.c
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -ffast-math -fdump-tree-optimized" } */
|
||||
|
||||
double bar (double, double, double, double, double);
|
||||
|
||||
double
|
||||
foo (double a)
|
||||
{
|
||||
return bar (1.0/a, 2.0/a, 4.0/a, 8.0/a, 16.0/a);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "/" 1 "optimized" } } */
|
Loading…
Add table
Reference in a new issue