| /* PR rtl-optimization/89679 */ | |
| /* { dg-do run } */ | |
| /* { dg-options "-Og -frerun-cse-after-loop -fno-tree-fre" } */ | |
| unsigned short g; | |
| void | |
| foo (unsigned long long x) | |
| { | |
| if (x != 0xffff) | |
| __builtin_abort (); | |
| } | |
| int | |
| main () | |
| { | |
| #if __SIZEOF_SHORT__ == 2 && __SIZEOF_INT__ == 4 && __CHAR_BIT__ == 8 | |
| unsigned short d = 0; | |
| unsigned long long x, c = ~0; | |
| c = c >> d; | |
| __builtin_memset (&d, c, 2); | |
| x = d + g; | |
| foo (x); | |
| #endif | |
| return 0; | |
| } |