1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
6 return x
!= 0 ? ~x
: ~0;
11 return x
!= 1 ? ~x
: -2;
16 return x
!= ~0 ? ~x
: 0;
19 unsigned int test_u0(unsigned int x
)
21 return x
!= 0 ? ~x
: ~0;
24 unsigned int test_u1(unsigned int x
)
26 return x
!= 1 ? ~x
: ~1u;
29 unsigned int test_um1(unsigned int x
)
31 return x
!= ~0u ? ~x
: 0;
34 signed char test_c0(signed char x
)
36 return x
!= 0 ? ~x
: -1;
39 signed char test_c1(signed char x
)
41 return x
!= 1 ? ~x
: -2;
44 signed char test_cm1(signed char x
)
46 return x
!= -1 ? ~x
: 0;
49 signed char test_cm128(signed char x
)
51 return x
!= -128 ? ~x
: 127;
54 signed char test_c127(signed char x
)
56 return x
!= 127 ? ~x
: -128;
59 unsigned char test_uc0(unsigned char x
)
61 return x
!= 0 ? ~x
: 255;
64 unsigned char test_uc1(unsigned char x
)
66 return x
!= 1 ? ~x
: 254;
69 unsigned char test_uc127(unsigned char x
)
71 return x
!= 127 ? ~x
: 128;
74 unsigned char test_uc128(unsigned char x
)
76 return x
!= 128 ? ~x
: 127;
79 unsigned char test_ucm1(unsigned char x
)
81 return x
!= 255 ? ~x
: 0;
84 /* { dg-final { scan-tree-dump-not "goto" "optimized" } } */