/* PR tree-optimization/94718 */
/* { dg-do compile } */
/* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */
/* { dg-final { scan-tree-dump-times "= \[xy]_\[0-9]+\\\(D\\\) \\^ \[xy]_\[0-9]+\\\(D\\\);" 6 "optimized" } } */
/* { dg-final { scan-tree-dump-times "\[0-9]+ >= 0;" 6 "optimized" } } */

#define I (-__INT_MAX__ - 1)

int
f1 (int x, int y)
{
  return (x & I) == (y & I);
}

int
f2 (int x, int y)
{
  return (~x & I) == (~y & I);
}

int
f3 (int x, int y)
{
  return ((x & I) ^ I) == ((y & I) ^ I);
}

int
f4 (int x, int y)
{
  int s = (x & I);
  int t = (y & I);
  return s == t;
}

int
f5 (int x, int y)
{
  int s = (~x & I);
  int t = (~y & I);
  return s == t;
}

int
f6 (int x, int y)
{
  int s = ((x & I) ^ I);
  int t = ((y & I) ^ I);
  return s == t;
}
