1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-optimized-details-blocks" } */
3 
4 /* Testcase for PR31657.  */
5 
foo(int x,int a,int b)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" } } */
24