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