(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
pr96671-2.c
       1  /* PR tree-optimization/96671 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fdump-tree-optimized" } */
       4  /* { dg-final { scan-tree-dump-times " \\^ " 6 "optimized" } } */
       5  /* { dg-final { scan-tree-dump-not " ~" "optimized" } } */
       6  /* { dg-final { scan-tree-dump-times " \\| " 6 "optimized" } } */
       7  
       8  int
       9  foo (int a, int b, int c)
      10  {
      11    return (a ^ b) | ((b ^ c) ^ a);
      12  }
      13  
      14  int
      15  bar (int a, int b, int c)
      16  {
      17    return (a ^ b) | ((b ^ a) ^ c);
      18  }
      19  
      20  int
      21  baz (int a, int b, int c)
      22  {
      23    return (a ^ b) | ((a ^ c) ^ b);
      24  }
      25  
      26  int
      27  qux (int a, int b, int c)
      28  {
      29    int d = a ^ b;
      30    int e = b ^ c;
      31    int f = e ^ a;
      32    return d | f;
      33  }
      34  
      35  int
      36  corge (int a, int b, int c)
      37  {
      38    int d = a ^ b;
      39    int e = b ^ a;
      40    int f = c ^ e;
      41    return d | f;
      42  }
      43  
      44  int
      45  garply (int a, int b, int c)
      46  {
      47    int d = a ^ b;
      48    int e = a ^ c;
      49    int f = b ^ e;
      50    return d | f;
      51  }