2 /* { dg-require-effective-target arm_neon_hw } */
3 /* { dg-options "-O2" } */
4 /* { dg-add-options arm_neon } */
11 uint8_t v1_init
[8] = {1, 1, 1, 1, 1, 1, 1, 1};
12 uint8_t v2_init
[8] = {2, 2, 2, 2, 2, 2, 2, 2};
13 uint8x8_t v1
= vld1_u8 (v1_init
);
14 uint8x8_t v2
= vld1_u8 (v2_init
);
16 union {uint8x8_t v
; uint8_t buf
[8];} d1
, d2
, d3
, d4
;
19 vd1
= vzip_u8(v1
, vdup_n_u8(0));
20 vd2
= vzip_u8(v2
, vdup_n_u8(0));
22 vst1_u8(d1
.buf
, vd1
.val
[0]);
23 vst1_u8(d2
.buf
, vd1
.val
[1]);
24 vst1_u8(d3
.buf
, vd2
.val
[0]);
25 vst1_u8(d4
.buf
, vd2
.val
[1]);
27 for (i
= 0; i
< 8; i
++)
28 if ((i
% 2 == 0 && d4
.buf
[i
] != 2)
29 || (i
% 2 == 1 && d4
.buf
[i
] != 0))