blob: be754145e7dbfd1b2a9054bc5533ba25ab38e9f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/* { dg-do compile } */
/* { dg-options "-O1 -funsafe-math-optimizations -fdump-tree-recip" } */
float u, v, w, x, y, z;
void e(float a, float b, float c, float d, float e, float f)
{
if (a < b)
{
a = a + b;
c = c + d;
}
/* The PHI nodes for these divisions should be combined. */
d = d / a;
e = e / a;
f = f / a;
a = a / c;
b = b / c;
/* This should not be left as a multiplication. */
c = 1 / c;
u = a;
v = b;
w = c;
x = d;
y = e;
z = f;
}
/* { dg-final { scan-tree-dump-times " / " 2 "recip" } } */
/* { dg-final { scan-tree-dump-times " \\* " 5 "recip" } } */
/* { dg-final { cleanup-tree-dump "recip" } } */
|