32 lines
551 B
C
32 lines
551 B
C
/* { dg-options "-O1 -funsafe-math-optimizations -fno-trapping-math -fdump-tree-recip" } */
|
|
/* { dg-do compile } */
|
|
|
|
/* Test inserting in a block that does not contain a division. */
|
|
|
|
extern double h();
|
|
|
|
double m, n, o;
|
|
|
|
void f(int x, double z, double w)
|
|
{
|
|
double b, c, d, e, f;
|
|
double y = h ();
|
|
|
|
if (x)
|
|
b = 1 / y, c = z / y;
|
|
else
|
|
b = 3 / y, c = w / y;
|
|
|
|
d = b / y;
|
|
e = c / y;
|
|
f = 1 / y;
|
|
|
|
m = d;
|
|
n = e;
|
|
o = f;
|
|
}
|
|
|
|
/* { dg-final { scan-tree-dump-times " / " 1 "recip" } } */
|
|
/* { dg-final { cleanup-tree-dump "recip" } } */
|
|
|