1  /* { dg-do compile } */
       2  /* { dg-options "-O -fdump-tree-optimized-details-blocks" } */
       3  
       4  /* Testcase for PR31657.  */
       5  
       6  int foo (int x, int a, int b)
       7  {
       8    /* if ((x & a) || (x & b)) */
       9    if (x & a)
      10      goto doit;
      11    if (x & b)
      12      goto doit;
      13  
      14    /* else */
      15    return 0;
      16  
      17    /* then - returing 1 causes phiopt to trigger */
      18  doit:
      19    return 2;
      20  }
      21  
      22  /* { dg-final { scan-tree-dump "\\|" "optimized" } } */
      23  /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */