/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-forwprop" } */ | |
void a (void); | |
void b (void); | |
void | |
f (int i, float j, int i2, float j2) | |
{ | |
if (__builtin_expect ((i * i2) > 0 && __builtin_expect ((j * j2) != 0, 1), 0)) | |
a (); | |
else | |
b (); | |
} | |
/* { dg-final { scan-tree-dump-times { if } 2 "forwprop1"} } */ | |
/* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 0\);\n[^\n]*if} "forwprop1"} } */ | |
/* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 1\);\n[^\n]*if} "forwprop1"} } */ |