PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / propbits-2.c
blob95063d1f426f4f4c301fb14bc77aae6c5b3a0dd1
1 /* x's mask should be meet(0xc, 0x3) == 0xf */
3 /* { dg-do compile } */
4 /* { dg-options "-O2 -fno-early-inlining -fdump-ipa-cp -fdump-tree-optimized" } */
6 extern int pass_test ();
7 extern int fail_test ();
9 __attribute__((noinline))
10 static int f1(int x)
12 if ((x & ~0xf) == 0)
13 return pass_test ();
14 else
15 return fail_test ();
18 __attribute__((noinline))
19 static int f2(int y)
21 return f1(y & 0x03);
24 __attribute__((noinline))
25 static int f3(int z)
27 return f1(z & 0xc);
30 extern int a;
31 extern int b;
33 int main(void)
35 int k = f2(a);
36 int l = f3(b);
37 return k + l;
40 /* { dg-final { scan-ipa-dump "Adjusting mask for param 0 to 0xf" "cp" } } */
41 /* { dg-final { scan-tree-dump-not "fail_test" "optimized" } } */