/* { dg-options "-O3 --param vect-partial-vector-usage=1" } */ | |
int __attribute__((noipa)) | |
add_loop (int *x, int n, int res) | |
{ | |
for (int i = 0; i < n; ++i) | |
{ | |
res += x[i * 2]; | |
res += x[i * 2 + 1]; | |
} | |
return res; | |
} | |
/* { dg-final { scan-assembler-times {\tadd\tz[0-9]+\.s, z[0-9]+\.s, z[0-9]+\.s\n} 1 } } */ | |
/* { dg-final { scan-assembler-times {\tadd\tz[0-9]+\.s, p[0-7]/m, z[0-9]+\.s, z[0-9]+\.s\n} 1 } } */ | |
/* { dg-final { scan-assembler-times {\tuaddv\t} 1 } } */ |