/* { dg-do compile } */
/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */

int f(int y, int x)
{
  int a = x | y;
  return a & x;
}
int f1(int y, int x)
{
  int a = y | x;
  return a & x;
}
int f2(int y, int x)
{
  int a = x | y;
  return x & a;
}
int f3(int y, int x)
{
  int a = x | y;
  return x & a;
}
int f4(int y, int x)
{
  int a = x & y;
  return a | x;
}
int f5(int y, int x)
{
  int a = y & x;
  return a | x;
}
int f6(int y, int x)
{
  int a = x & y;
  return x | a;
}
int f7(int y, int x)
{
  int a = x & y;
  return x | a;
}
/* These all should be optimized to just return x; */


/* { dg-final { scan-tree-dump-times "\\\|" 0 "optimized" } } */
/* { dg-final { scan-tree-dump-times "\&" 0 "optimized" } } */
/* { dg-final { scan-tree-dump-times "return x_..D.;" 8 "optimized" } } */
