1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-forwprop" } */
3
4 void a (void);
5 void b (void);
6
7 void
f(int i,float j,int i2,float j2)8 f (int i, float j, int i2, float j2)
9 {
10 if (__builtin_expect ((i * i2) > 0 && __builtin_expect ((j * j2) != 0, 1), 0))
11 a ();
12 else
13 b ();
14 }
15
16 /* { dg-final { scan-tree-dump-times { if } 2 "forwprop1"} } */
17 /* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 0\);\n[^\n]*if} "forwprop1"} } */
18 /* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 1\);\n[^\n]*if} "forwprop1"} } */
19