blob: b41b2d4f0ee401732073321645f3f1f958da842d [file] [log] [blame]
/* { dg-do compile { target { aarch64*-*-* } } } */
/* { dg-additional-options "-w -O3 -march=armv8.3-a" } */
class a {
float b;
float c;
public:
a(float d, float e) : b(d), c(e) {}
a operator+(a d) { return a(b + d.b, c + d.c); }
a operator-(a d) { return a(b - d.b, c - d.c); }
a operator*(a d) { return a(b * b - c * c, b * c + c * d.b); }
};
long f;
a *g;
class {
a *h;
long i;
a *j;
public:
void k() {
a l = h[0], m = g[i], n = l * g[1], o = l * j[8];
g[i] = m + n;
g[i + 1] = m - n;
j[f] = o;
}
} p;
main() { p.k(); }