2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / torture / aarch64-vect-init-1.C
blob681b71a8269798d843e0990ba3a6415146505cfd
1 /* { dg-do compile } */
2 /* { dg-additional-options "-mcpu=cortex-a72" { target aarch64*-*-* } } */
4 class A {
5 public:
6   unsigned char *fn1();
7   int fn2();
8 };
10 class B {
11   A fld1;
12   int fld2;
13   void fn3();
14   unsigned char fld3;
17 int a;
19 void
20 B::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     ;