1 /* PR target/83507 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fmodulo-sched -fno-tree-ter -fno-tree-coalesce-vars" } */
4
5 void
6 foo (unsigned short int x, unsigned char y)
7 {
8 unsigned char *a = &y;
9 unsigned short int b;
10 int c;
11
12 while (y < 3)
13 {
14 if (x != 0)
15 ++y;
16 ++y;
17 }
18
19 for (c = 0; c < 5; ++c)
20 {
21 int d = 1;
22 d += b > x;
23 y &= d;
24 }
25
26 do
27 {
28 c += y;
29 x = c;
30 }
31 while (x != 0);
32 }