1 /* PR tree-optimization/58791 */
2 /* { dg-do run } */
3 /* { dg-options "-g" } */
4 
5 #include "../nop.h"
6 
7 __attribute__((noinline, noclone)) int
foo(unsigned char c)8 foo (unsigned char c)
9 {
10   int ret;
11   _Bool a, b, d, e, f;
12 
13   a = c == 34;
14   b = c == 32;
15   d = a | b;
16   f = !d;
17   if (d)
18     ret = 1;
19   else
20     {
21       e = c <= 31;
22       ret = e;
23     }
24 
25   asm volatile (NOP : : : "memory");     /* { dg-final { gdb-test pr58791-2.c:27 "d & 1" "1" } } */
26   asm volatile (NOP : : : "memory");     /* { dg-final { gdb-test pr58791-2.c:27 "f & 1" "0" } } */
27   return ret;
28 }
29 
30 
31 int
main()32 main ()
33 {
34   foo (32);
35   return 0;
36 }
37