Commit 9e52adc4 by Andrew Pinski

commit three of testcases which I forgot to commit.

From-SVN: r102411
parent 74160ccf
// PR middle-end/22484
// { dg-do compile }
// { dg-options "-O3" }
struct A { ~A(); };
typedef bool B;
bool foo();
bool bar(A&)
{
B b = true;
for (int i = 0; i < 2 && b; ++i)
b = foo();
return b;
}
void baz()
{
A a;
if (bar(a)) foo();
}
/* { 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-do compile } */
/* { dg-options "-fdump-tree-gimple" } */
int f1(int a,int b)
{
return (a|b) ^ b;
}
int f2(int a,int b)
{
return (b|a) ^ b;
}
int f3(int a,int b)
{
return b^(a|b);
}
int f4(int a,int b)
{
return b^(b|a);
}
/* There should be no ^, 4 ~ and 4 &. */
/* { dg-final { scan-tree-dump-times "\\^" 0 "gimple"} } */
/* { dg-final { scan-tree-dump-times "~" 4 "gimple"} } */
/* { dg-final { scan-tree-dump-times "&" 4 "gimple"} } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment