/* { dg-do compile } */ | |
/* { dg-additional-options "-fvect-cost-model=dynamic -mcpu=zeus" { target aarch64*-*-* } } */ | |
template <typename> | |
struct complex; | |
template <> | |
struct complex<double> { | |
void operator+= (complex r) { v_ += r.v_; } | |
_Complex v_; | |
}; | |
template <typename T> | |
void | |
bar (T); | |
void | |
foo (complex<double> *x) | |
{ | |
complex<double> s = {0.0}; | |
for (int i = 0; i < 16; ++i) | |
s += x[i]; | |
bar<complex<double> > (s); | |
} |