27 lines
520 B
C
27 lines
520 B
C
/* { dg-do compile { target aarch64*-*-* } } */
|
|
/* { dg-options "-O2 -ftree-loop-vectorize -funsafe-math-optimizations -march=armv8.2-a+sve -msve-vector-bits=256" } */
|
|
|
|
float
|
|
foo(long n, float *x, int inc_x,
|
|
float *y, int inc_y)
|
|
{
|
|
float dot = 0.0;
|
|
int ix = 0, iy = 0;
|
|
|
|
if (n < 0) {
|
|
return dot;
|
|
}
|
|
|
|
int i = 0;
|
|
while (i < n) {
|
|
dot += y[iy] * x[ix];
|
|
ix += inc_x;
|
|
iy += inc_y;
|
|
i++;
|
|
}
|
|
|
|
return dot;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-not "smaddl" { target aarch64*-*-* } } } */
|