1  /* PR middle-end/63568 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O -fdump-tree-cddce1" } */
       4  
       5  int
       6  fn1 (int a, int b, int m)
       7  {
       8    int tem1 = a & ~m;
       9    int tem2 = b & m;
      10    return tem1 | tem2;
      11  }
      12  
      13  int
      14  fn2 (int a, int b, int m)
      15  {
      16    int tem1 = a & ~m;
      17    int tem2 = m & b;
      18    return tem1 | tem2;
      19  }
      20  
      21  int
      22  fn3 (int a, int b, int m)
      23  {
      24    int tem1 = ~m & a;
      25    int tem2 = m & b;
      26    return tem1 | tem2;
      27  }
      28  
      29  int
      30  fn4 (int a, int b, int m)
      31  {
      32    int tem1 = ~m & a;
      33    int tem2 = b & m;
      34    return tem1 | tem2;
      35  }
      36  
      37  int
      38  fn5 (int a, int b, int m)
      39  {
      40    int tem1 = b & m;
      41    int tem2 = a & ~m;
      42    return tem1 | tem2;
      43  }
      44  
      45  int
      46  fn6 (int a, int b, int m)
      47  {
      48    int tem1 = m & b;
      49    int tem2 = a & ~m;
      50    return tem1 | tem2;
      51  }
      52  
      53  int
      54  fn7 (int a, int b, int m)
      55  {
      56    int tem1 = m & b;
      57    int tem2 = ~m & a;
      58    return tem1 | tem2;
      59  }
      60  
      61  int
      62  fn8 (int a, int b, int m)
      63  {
      64    int tem1 = b & m;
      65    int tem2 = ~m & a;
      66    return tem1 | tem2;
      67  }
      68  
      69  /* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */