1 /* { dg-do compile } */
2 /* { dg-options "-fdump-tree-gimple" } */
3 int f1(int a
,int b
,int c
,int d
)
5 return ((a
&d
)|(b
&c
)) ^ (b
&c
);
8 int f2(int a
,int b
,int c
,int d
)
10 return (b
&c
) ^ ((a
&d
)|(b
&c
));
13 int f3(int a
,int b
,int c
,int d
)
15 return ((b
&c
)|(a
&d
)) ^ (b
&c
);
18 int f4(int a
,int b
,int c
,int d
)
20 return (b
&c
) ^ ((b
&c
)|(a
&d
));
23 /* There should be no ^, 4 ~ and 12 &. */
24 /* { dg-final { scan-tree-dump-times "\\^" 0 "gimple"} } */
25 /* { dg-final { scan-tree-dump-times "~" 4 "gimple"} } */
26 /* { dg-final { scan-tree-dump-times "&" 12 "gimple"} } */
27 /* { dg-final { cleanup-tree-dump "gimple" } } */