1 /* { dg-options "-O2 -ftree-vectorize" } */
2
3 #pragma GCC target "+nosve"
4
5 #include <stdint.h>
6
7 void
8 f (int8_t *x, int16_t *y, int16_t *z, int n)
9 {
10 for (int i = 0; i < n; ++i)
11 {
12 x[i] = z[i];
13 y[i] += y[i - 8];
14 }
15 }
16
17 /* { dg-final { scan-assembler-times {\txtn\tv[0-9]+\.8b, v[0-9]+\.8h\n} 1 } } */
18 /* { dg-final { scan-assembler-times {\tadd\tv[0-9]+\.8h,} 1 } } */