1 /* { dg-do compile } */ 2 /* { dg-additional-options "-mcpu=cortex-a72" { target aarch64*-*-* } } */ 3 4 class A { 5 public: 6 unsigned char *fn1(); 7 int fn2(); 8 }; 9 10 class B { 11 A fld1; 12 int fld2; 13 void fn3(); 14 unsigned char fld3; 15 }; 16 17 int a; 18 19 void fn3()20B::fn3() { 21 int b = fld1.fn2() / 8; 22 unsigned char *c = fld1.fn1(), *d = &fld3, *e = c; 23 for (; a < fld2;) 24 for (int j = 0; j < b; j++) 25 *d++ = e[j]; 26 for (; 0 < fld2;) 27 for (int j = 0; j < b; j++) 28 e[j] = *d++; 29 for (; fld2;) 30 ; 31 } 32