1 /* PR tree-optimization/81588 */
2
3 __attribute__((noinline, noclone)) int
bar(int x)4 bar (int x)
5 {
6 __asm volatile ("" : : "g" (x) : "memory");
7 }
8
9 __attribute__((noinline, noclone)) int
foo(unsigned x,long long y)10 foo (unsigned x, long long y)
11 {
12 if (y < 0)
13 return 0;
14 if (y < (long long) (4 * x))
15 {
16 bar (y);
17 return 1;
18 }
19 return 0;
20 }
21
22 int
main()23 main ()
24 {
25 volatile unsigned x = 10;
26 volatile long long y = -10000;
27 if (foo (x, y) != 0)
28 __builtin_abort ();
29 y = -1;
30 if (foo (x, y) != 0)
31 __builtin_abort ();
32 y = 0;
33 if (foo (x, y) != 1)
34 __builtin_abort ();
35 y = 39;
36 if (foo (x, y) != 1)
37 __builtin_abort ();
38 y = 40;
39 if (foo (x, y) != 0)
40 __builtin_abort ();
41 y = 10000;
42 if (foo (x, y) != 0)
43 __builtin_abort ();
44 return 0;
45 }
46