1 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
2 /* { dg-options "-O -msve-vector-bits=256 --save-temps" } */
3 /* { dg-final { check-function-bodies "**" "" } } */
4
5 /* Case 2.2: Leading constants with stepped sequence. */
6
7 #include <stdint.h>
8
9 typedef int32_t vnx4si __attribute__((vector_size (32)));
10
11 /*
12 ** foo:
13 ** ...
14 ** ld1rd (z[0-9]+)\.d, p[0-9]+/z, \[x[0-9]+\]
15 ** insr \1\.s, w1
16 ** insr \1\.s, w0
17 ** rev \1\.s, \1\.s
18 ** ...
19 */
20 __attribute__((noipa))
foo(int a,int b)21 vnx4si foo(int a, int b)
22 {
23 return (vnx4si) { 3, 2, 3, 2, 3, 2, b, a };
24 }
25