1 /* { dg-do compile { target aarch64*-*-* } } */
2 /* { dg-options "-O2 -ftree-loop-vectorize -funsafe-math-optimizations -march=armv8.2-a+sve -msve-vector-bits=256" } */
3 
4 float
foo(long n,float * x,int inc_x,float * y,int inc_y)5 foo(long n, float *x, int inc_x,
6             float *y, int inc_y)
7 {
8   float dot = 0.0;
9   int ix = 0, iy = 0;
10 
11   if (n < 0) {
12     return dot;
13   }
14 
15   int i = 0;
16   while (i < n) {
17     dot += y[iy] * x[ix];
18     ix  += inc_x;
19     iy  += inc_y;
20     i++;
21   }
22 
23   return dot;
24 }
25 
26 /* { dg-final { scan-assembler-not "smaddl" { target aarch64*-*-* } } } */
27