1  /* { dg-do compile } */
       2  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
       3  /* { dg-final { scan-assembler-not "\\\$f\[0-9\]+" } } */
       4  int a, b, d, e, j, k, n, o;
       5  unsigned c, h, i, l, m, p;
       6  int *f;
       7  int *g;
       8  int fn1(int p1) { return p1 - a; }
       9  
      10  int fn2() {
      11    b = b + 1 - a;
      12    e = 1 + o + 1518500249;
      13    d = d + n;
      14    c = (int)c + g[0];
      15    b = b + m + 1;
      16    d = d + p + 1518500249;
      17    d = d + k - 1;
      18    c = fn1(c + j + 1518500249);
      19    e = fn1(e + i + 1);
      20    d = d + h + 1859775393 - a;
      21    c = fn1(c + (d ^ 1 ^ b) + g[1] + 1);
      22    b = fn1(b + m + 3);
      23    d = fn1(d + l + 1);
      24    b = b + (c ^ 1) + p + 1;
      25    e = fn1(e + (b ^ c ^ d) + n + 1);
      26    d = o;
      27    b = 0;
      28    e = e + k + 1859775393;
      29    f[0] = e;
      30    return a;
      31  }