28 lines
611 B
C
28 lines
611 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-fdump-tree-gimple" } */
|
|
int f1(int a,int b,int c,int d)
|
|
{
|
|
return ((a&d)|(b&c)) ^ (b&c);
|
|
}
|
|
|
|
int f2(int a,int b,int c,int d)
|
|
{
|
|
return (b&c) ^ ((a&d)|(b&c));
|
|
}
|
|
|
|
int f3(int a,int b,int c,int d)
|
|
{
|
|
return ((b&c)|(a&d)) ^ (b&c);
|
|
}
|
|
|
|
int f4(int a,int b,int c,int d)
|
|
{
|
|
return (b&c) ^ ((b&c)|(a&d));
|
|
}
|
|
|
|
/* There should be no ^, 4 ~ and 12 &. */
|
|
/* { dg-final { scan-tree-dump-times "\\^" 0 "gimple"} } */
|
|
/* { dg-final { scan-tree-dump-times "~" 4 "gimple"} } */
|
|
/* { dg-final { scan-tree-dump-times "&" 12 "gimple"} } */
|
|
/* { dg-final { cleanup-tree-dump "gimple" } } */
|