1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */
3 
f(int y,int x)4 int f(int y, int x)
5 {
6   return x | ((~x) & y);
7 }
f1(int y,int x)8 int f1(int y, int x)
9 {
10   return x | (y & (~x));
11 }
f2(int y,int x)12 int f2(int y, int x)
13 {
14   return ((~x) & y) | x;
15 }
f3(int y,int x)16 int f3(int y, int x)
17 {
18   return (y & (~x)) | x;
19 }
20 
21 
22 /* { dg-final { scan-tree-dump-times "~x" 0 "optimized" } } */
23 /* { dg-final { scan-tree-dump-times "x_..D. \\\| y_..D." 4 "optimized" } } */
24