1  /* { dg-do compile } */
       2  /* { dg-options "-O3" } */
       3  /* { dg-additional-options "-march=amdfam10" { target i?86-*-* x86_64-*-* } } */
       4  
       5  extern int fn2(int);
       6  extern int fn3(int);
       7  int a, b, c;
       8  void fn1(long p1) {
       9    char *d;
      10    for (;; d += p1) {
      11      d[0] = fn2(1 >> a);
      12      fn3(0);
      13      fn3(c >> a);
      14      d[1] = fn3(d[1] * b + c >> a);
      15      d[4] = fn3(d[4] * b + c >> a);
      16      d[5] = fn3(d[5] * b + c >> a);
      17    }
      18  }