(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
20150120-3.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-original" } */
       3  
       4  /* x | ~(x | y) -> x | ~y */
       5  int fn1 (int x, int y)
       6  {
       7  	return x | ~(x | y);
       8  }
       9  int fn2 (int x, int y)
      10  {
      11  	return ~(x | y) | x;
      12  }
      13  int fn3 (int x, int y)
      14  {
      15  	return x | ~(y | x);
      16  }
      17  int fn4 (int x, int y)
      18  {
      19  	return ~(y | x) | x;
      20  }
      21  int fn5 (int z)
      22  {
      23  	return z | ~(z | 3);
      24  }
      25  int fn6 (int z)
      26  {
      27  	return ~(z | 3) | z;
      28  }
      29  
      30  
      31  /* { dg-final { scan-tree-dump-times "~y \\| x" 4 "original" } } */
      32  /* { dg-final { scan-tree-dump-times "z \\| -4" 2 "original" } } */