2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr68990.c
blob4c3ca0331d53f4bac24993beca2848bf24fb9888
1 /* { dg-do compile { target { ia32 } } } */
2 /* { dg-options "-O3 -march=x86-64" } */
3 /* { dg-final { scan-assembler-not "cmpl\[ \t]+(\[%a-z]+), \\1" } } */
5 short a;
6 int b = 1, f;
7 char c, e = 1;
8 long long d;
10 static short
11 foo ()
13 unsigned g, h = 0;
14 int i = 0 || d * (b | e);
15 char j = a << i, l = a;
16 short k;
17 int m = -b;
18 if (m < b)
20 k = m = b;
21 g = (k || l) / (b / e);
22 if (b)
23 __builtin_printf ("foo=%lld\n", (long long) a);
25 a = b = m;
26 if (j || e)
28 h = g;
29 i = m;
30 g = j * k / (i - d);
31 if (m)
32 b = j && b;
33 e = b * (h & d) || g;
35 b = i;
36 char n = e || h | d;
37 e = i < d & k / n;
38 return f;
41 int
42 main ()
44 if (foo ())
45 if (c)
46 lab:
47 goto lab;
48 return 0;