1/* PR rtl-optimization/45695 */
2
3extern void abort (void);
4
5__attribute__((noinline)) void
6g (int x)
7{
8  asm volatile ("" : "+r" (x));
9}
10
11__attribute__((noinline)) int
12f (int a, int b, int d)
13{
14  int r = -1;
15  b += d;
16  if (d == a)
17    r = b - d;
18  g (b);
19  return r;
20}
21
22int
23main (void)
24{
25  int l;
26  asm ("" : "=r" (l) : "0" (0));
27  if (f (l + 0, l + 1, l + 4) != -1)
28    abort ();
29  if (f (l + 4, l + 1, l + 4) != 1)
30    abort ();
31  return 0;
32}
33