/* 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); | |
} |