1 /* { dg-options "-O3" } */
2
3 #pragma GCC target "+nosve"
4
5 void
6 f (int *restrict x, int *restrict y, int *restrict z, int n)
7 {
8 for (int i = 0; i < n; i += 3)
9 {
10 x[i] = y[i] + z[i];
11 x[i + 1] = y[i + 1] - z[i + 1];
12 x[i + 2] = y[i + 2] | z[i + 2];
13 }
14 }
15
16 /* { dg-final { scan-assembler-times {\tld3\t} 2 } } */
17 /* { dg-final { scan-assembler-times {\tst3\t} 1 } } */