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