/* PR rtl-optimization/91720 */ /* { dg-do run } */ /* { dg-options "-Og -fno-forward-propagate -frerun-cse-after-loop -fno-tree-fre" } */ unsigned a, b; int main () { #if __CHAR_BIT__ == 8 unsigned c = 1; unsigned long long d = 0; unsigned char e = 0; e = __builtin_sub_overflow (d, e, &a) ? 0 : 0x80; e = e << 7 | e >> c; __builtin_memmove (&d, &a, 2); b = e; if (b != 0x40) __builtin_abort (); #endif return 0; }