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 5.4: Interleaved repeating elements and non-repeating elements.  */
6 
7 #include <stdint.h>
8 
9 typedef int32_t vnx4si __attribute__((vector_size (32)));
10 
11 /*
12 ** foo:
13 **	mov	(z[0-9]+\.s), w3
14 **	mov	(z[0-9]+\.s), w2
15 **	insr	\2, w1
16 **	insr	\2, w0
17 **	zip1	\2, \2, \1
18 **	...
19 */
20 __attribute__((noipa))
foo(int a,int b,int c,int f)21 vnx4si foo(int a, int b, int c, int f)
22 {
23   return (vnx4si) { a, f, b, f, c, f, c, f };
24 }
25