1 /* { dg-do compile } */
2 /* { dg-additional-options "-fdump-rtl-expand -w" } */
3
4 #include <arm_neon.h>
5
6 void foo (uint8x8x2_t cols_01_23, uint8x8x2_t cols_45_67, uint16_t*
7 outptr0) {
8 uint16x4x4_t cols_01_23_45_67 = { {
9 vreinterpret_u16_u8(cols_01_23.val[0]),
10 vreinterpret_u16_u8(cols_01_23.val[1]),
11 vreinterpret_u16_u8(cols_45_67.val[0]),
12 vreinterpret_u16_u8(cols_45_67.val[1])
13 } };
14
15 vst4_lane_u16(outptr0, cols_01_23_45_67, 0); }
16
17 /* Check that we expand to v0 and v2 from the function arguments. */
18 /* { dg-final { scan-rtl-dump {\(reg:V2x8QI \d+ v0 \[ cols_01_23
19 \]\)} expand } } */
20 /* { dg-final { scan-rtl-dump {\(reg:V2x8QI \d+ v2 \[ cols_45_67
21 \]\)} expand } } */
22