diff --git a/SingleSource/UnitTests/Vectorizer/Veclib/sincos.h b/SingleSource/UnitTests/Vectorizer/Veclib/sincos.h --- a/SingleSource/UnitTests/Vectorizer/Veclib/sincos.h +++ b/SingleSource/UnitTests/Vectorizer/Veclib/sincos.h @@ -10,6 +10,23 @@ } } +// inner loop vectorization with linear access, assume safety +void sincos_arr_assume_safety(REAL* sines, REAL* cosines, REAL* phases, int size) { +#pragma clang loop vectorize(assume_safety) + for (int i=0; i 0 ? coses[i-1] - sines[i-1] : 0) : phases[j]; + long double ref_sin = sinl(phase); + long double ref_cos = cosl(phase); for (int k=0; k