blob: 1fa321d4a701251e78531d576c66ddf4296cfc8a [file] [log] [blame]
/* { dg-do compile { target ia32 } } */
/* { dg-options "-O3 -march=x86-64" } */
/* { dg-final { scan-assembler-not "cmpl\[ \t]+(\[%a-z]+), \\1" } } */
short a;
int b = 1, f;
char c, e = 1;
long long d;
static short
foo ()
{
unsigned g, h = 0;
int i = 0 || d * (b | e);
char j = a << i, l = a;
short k;
int m = -b;
if (m < b)
{
k = m = b;
g = (k || l) / (b / e);
if (b)
__builtin_printf ("foo=%lld\n", (long long) a);
}
a = b = m;
if (j || e)
{
h = g;
i = m;
g = j * k / (i - d);
if (m)
b = j && b;
e = b * (h & d) || g;
}
b = i;
char n = e || h | d;
e = i < d & k / n;
return f;
}
int
main ()
{
if (foo ())
if (c)
lab:
goto lab;
return 0;
}