| /* PR rtl-optimization/81019 */ | |
| /* { dg-do run } */ | |
| /* { dg-options "-O -fno-tree-ccp" } */ | |
| unsigned long long __attribute__((noinline, noclone)) | |
| foo (unsigned char a, unsigned short b, unsigned c, unsigned long long d, | |
| unsigned char e, unsigned short f, unsigned g, unsigned long long h) | |
| { | |
| g = e; | |
| c &= 0 < d; | |
| b *= d; | |
| g ^= -1; | |
| g &= 1; | |
| c |= 1; | |
| a -= 0 < g; | |
| g >>= 1; | |
| f = b | (f >> b); | |
| return a + c + d + f + g + h; | |
| } | |
| int | |
| main (void) | |
| { | |
| if (foo (0, 0, 0, 0, 0, 0, 0, 0) != 0x100) | |
| __builtin_abort (); | |
| return 0; | |
| } |