/* PR target/83507 */ /* { dg-do compile } */ /* { dg-options "-O2 -fmodulo-sched -fno-tree-ter -fno-tree-coalesce-vars" } */ void foo (unsigned short int x, unsigned char y) { unsigned char *a = &y; unsigned short int b; int c; while (y < 3) { if (x != 0) ++y; ++y; } for (c = 0; c < 5; ++c) { int d = 1; d += b > x; y &= d; } do { c += y; x = c; } while (x != 0); }