1c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines// REQUIRES: aarch64-registered-target
26bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
4bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
5bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu// Test new aarch64 intrinsics and types
6bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu#include <arm_neon.h>
7bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
8bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vuzp1_s8(int8x8_t a, int8x8_t b) {
9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_s8
10bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_s8(a, b);
11bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
12bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
13bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
14bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vuzp1q_s8(int8x16_t a, int8x16_t b) {
15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_s8
16bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_s8(a, b);
17bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
18bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
19bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
20bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vuzp1_s16(int16x4_t a, int16x4_t b) {
21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_s16
22bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_s16(a, b);
23bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
24bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
25bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
26bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vuzp1q_s16(int16x8_t a, int16x8_t b) {
27651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_s16
28bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_s16(a, b);
29bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
30bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
31bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
32bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vuzp1_s32(int32x2_t a, int32x2_t b) {
33651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_s32
34bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_s32(a, b);
35651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
36bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
37bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
38bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vuzp1q_s32(int32x4_t a, int32x4_t b) {
39651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_s32
40bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_s32(a, b);
41bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
42bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
43bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
44bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vuzp1q_s64(int64x2_t a, int64x2_t b) {
45651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_s64
46bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_s64(a, b);
47651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
48bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
49bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
50bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vuzp1_u8(uint8x8_t a, uint8x8_t b) {
51651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_u8
52bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_u8(a, b);
53bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
54bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
55bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
56bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vuzp1q_u8(uint8x16_t a, uint8x16_t b) {
57651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_u8
58bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_u8(a, b);
59bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
60bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
61bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
62bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vuzp1_u16(uint16x4_t a, uint16x4_t b) {
63651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_u16
64bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_u16(a, b);
65bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
66bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
67bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
68bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vuzp1q_u16(uint16x8_t a, uint16x8_t b) {
69651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_u16
70bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_u16(a, b);
71bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
72bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
73bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
74bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vuzp1_u32(uint32x2_t a, uint32x2_t b) {
75651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_u32
76bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_u32(a, b);
77651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
78bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
79bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
80bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vuzp1q_u32(uint32x4_t a, uint32x4_t b) {
81651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_u32
82bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_u32(a, b);
83bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
84bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
85bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
86bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vuzp1q_u64(uint64x2_t a, uint64x2_t b) {
87651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_u64
88bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_u64(a, b);
89651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
90bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
91bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
92bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vuzp1_f32(float32x2_t a, float32x2_t b) {
93651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_f32
94bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_f32(a, b);
95651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
96bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
97bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
98bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vuzp1q_f32(float32x4_t a, float32x4_t b) {
99651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_f32
100bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_f32(a, b);
101bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
102bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
103bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
104bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vuzp1q_f64(float64x2_t a, float64x2_t b) {
105651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_f64
106bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_f64(a, b);
107651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
108bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
109bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
110bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vuzp1_p8(poly8x8_t a, poly8x8_t b) {
111651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_p8
112bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_p8(a, b);
113bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
114bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
115bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
116bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vuzp1q_p8(poly8x16_t a, poly8x16_t b) {
117651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_p8
118bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_p8(a, b);
119bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
120bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
121bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
122bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vuzp1_p16(poly16x4_t a, poly16x4_t b) {
123651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1_p16
124bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1_p16(a, b);
125bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
126bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
127bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
128bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vuzp1q_p16(poly16x8_t a, poly16x8_t b) {
129651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp1q_p16
130bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp1q_p16(a, b);
131bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
132bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
133bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
134bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vuzp2_s8(int8x8_t a, int8x8_t b) {
135651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_s8
136bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_s8(a, b);
137bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
138bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
139bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
140bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vuzp2q_s8(int8x16_t a, int8x16_t b) {
141651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_s8
142bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_s8(a, b);
143bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
144bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
145bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
146bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vuzp2_s16(int16x4_t a, int16x4_t b) {
147651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_s16
148bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_s16(a, b);
149bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
150bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
151bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
152bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vuzp2q_s16(int16x8_t a, int16x8_t b) {
153651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_s16
154bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_s16(a, b);
155bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
156bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
157bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
158bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vuzp2_s32(int32x2_t a, int32x2_t b) {
159651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_s32
160bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_s32(a, b);
161651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
162bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
163bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
164bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vuzp2q_s32(int32x4_t a, int32x4_t b) {
165651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_s32
166bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_s32(a, b);
167bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
168bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
169bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
170bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vuzp2q_s64(int64x2_t a, int64x2_t b) {
171651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_s64
172bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_s64(a, b);
173651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
174bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
175bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
176bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vuzp2_u8(uint8x8_t a, uint8x8_t b) {
177651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_u8
178bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_u8(a, b);
179bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
180bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
181bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
182bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vuzp2q_u8(uint8x16_t a, uint8x16_t b) {
183651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_u8
184bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_u8(a, b);
185bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
186bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
187bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
188bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vuzp2_u16(uint16x4_t a, uint16x4_t b) {
189651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_u16
190bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_u16(a, b);
191bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
192bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
193bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
194bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vuzp2q_u16(uint16x8_t a, uint16x8_t b) {
195651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_u16
196bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_u16(a, b);
197bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
198bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
199bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
200bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vuzp2_u32(uint32x2_t a, uint32x2_t b) {
201651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_u32
202bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_u32(a, b);
203651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
204bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
205bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
206bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vuzp2q_u32(uint32x4_t a, uint32x4_t b) {
207651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_u32
208bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_u32(a, b);
209bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
210bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
211bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
212bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vuzp2q_u64(uint64x2_t a, uint64x2_t b) {
213651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_u64
214bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_u64(a, b);
215651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
216bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
217bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
218bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vuzp2_f32(float32x2_t a, float32x2_t b) {
219651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_f32
220bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_f32(a, b);
221651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
222bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
223bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
224bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vuzp2q_f32(float32x4_t a, float32x4_t b) {
225651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_f32
226bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_f32(a, b);
227bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
228bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
229bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
230bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vuzp2q_f64(float64x2_t a, float64x2_t b) {
231651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_f64
232bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_f64(a, b);
233651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
234bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
235bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
236bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vuzp2_p8(poly8x8_t a, poly8x8_t b) {
237651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_p8
238bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_p8(a, b);
239bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
240bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
241bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
242bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vuzp2q_p8(poly8x16_t a, poly8x16_t b) {
243651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_p8
244bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_p8(a, b);
245bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
246bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
247bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
248bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vuzp2_p16(poly16x4_t a, poly16x4_t b) {
249651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2_p16
250bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2_p16(a, b);
251bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
252bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
253bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
254bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vuzp2q_p16(poly16x8_t a, poly16x8_t b) {
255651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp2q_p16
256bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp2q_p16(a, b);
257bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
258bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
259bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
260bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vzip1_s8(int8x8_t a, int8x8_t b) {
261651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_s8
262bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_s8(a, b);
263bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
264bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
265bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
266bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vzip1q_s8(int8x16_t a, int8x16_t b) {
267651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_s8
268bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_s8(a, b);
269bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
270bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
271bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
272bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vzip1_s16(int16x4_t a, int16x4_t b) {
273651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_s16
274bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_s16(a, b);
275bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
276bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
277bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
278bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vzip1q_s16(int16x8_t a, int16x8_t b) {
279651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_s16
280bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_s16(a, b);
281bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
282bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
283bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
284bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vzip1_s32(int32x2_t a, int32x2_t b) {
285651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_s32
286bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_s32(a, b);
287651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
288bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
289bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
290bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vzip1q_s32(int32x4_t a, int32x4_t b) {
291651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_s32
292bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_s32(a, b);
293bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
294bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
295bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
296bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vzip1q_s64(int64x2_t a, int64x2_t b) {
297651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_s64
298bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_s64(a, b);
299651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
300bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
301bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
302bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vzip1_u8(uint8x8_t a, uint8x8_t b) {
303651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_u8
304bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_u8(a, b);
305bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
306bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
307bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
308bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vzip1q_u8(uint8x16_t a, uint8x16_t b) {
309651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_u8
310bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_u8(a, b);
311bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
312bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
313bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
314bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vzip1_u16(uint16x4_t a, uint16x4_t b) {
315651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_u16
316bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_u16(a, b);
317bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
318bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
319bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
320bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vzip1q_u16(uint16x8_t a, uint16x8_t b) {
321651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_u16
322bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_u16(a, b);
323bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
324bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
325bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
326bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vzip1_u32(uint32x2_t a, uint32x2_t b) {
327651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_u32
328bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_u32(a, b);
329651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
330bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
331bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
332bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vzip1q_u32(uint32x4_t a, uint32x4_t b) {
333651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_u32
334bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_u32(a, b);
335bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
336bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
337bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
338bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vzip1q_u64(uint64x2_t a, uint64x2_t b) {
339651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_u64
340bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_u64(a, b);
341651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
342bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
343bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
344bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vzip1_f32(float32x2_t a, float32x2_t b) {
345651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_f32
346bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_f32(a, b);
347651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
348bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
349bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
350bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vzip1q_f32(float32x4_t a, float32x4_t b) {
351651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_f32
352bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_f32(a, b);
353bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
354bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
355bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
356bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vzip1q_f64(float64x2_t a, float64x2_t b) {
357651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_f64
358bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_f64(a, b);
359651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
360bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
361bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
362bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vzip1_p8(poly8x8_t a, poly8x8_t b) {
363651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_p8
364bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_p8(a, b);
365bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
366bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
367bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
368bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vzip1q_p8(poly8x16_t a, poly8x16_t b) {
369651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_p8
370bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_p8(a, b);
371bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
372bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
373bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
374bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vzip1_p16(poly16x4_t a, poly16x4_t b) {
375651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1_p16
376bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1_p16(a, b);
377bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
378bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
379bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
380bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vzip1q_p16(poly16x8_t a, poly16x8_t b) {
381651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip1q_p16
382bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip1q_p16(a, b);
383bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
384bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
385bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
386bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vzip2_s8(int8x8_t a, int8x8_t b) {
387651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_s8
388bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_s8(a, b);
389bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
390bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
391bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
392bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vzip2q_s8(int8x16_t a, int8x16_t b) {
393651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_s8
394bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_s8(a, b);
395bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
396bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
397bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
398bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vzip2_s16(int16x4_t a, int16x4_t b) {
399651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_s16
400bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_s16(a, b);
401bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
402bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
403bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
404bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vzip2q_s16(int16x8_t a, int16x8_t b) {
405651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_s16
406bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_s16(a, b);
407bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
408bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
409bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
410bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vzip2_s32(int32x2_t a, int32x2_t b) {
411651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_s32
412bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_s32(a, b);
413651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
414bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
415bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
416bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vzip2q_s32(int32x4_t a, int32x4_t b) {
417651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_s32
418bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_s32(a, b);
419bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
420bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
421bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
422bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vzip2q_s64(int64x2_t a, int64x2_t b) {
423651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_s64
424bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_s64(a, b);
425651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
426bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
427bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
428bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vzip2_u8(uint8x8_t a, uint8x8_t b) {
429651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_u8
430bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_u8(a, b);
431bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
432bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
433bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
434bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vzip2q_u8(uint8x16_t a, uint8x16_t b) {
435651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_u8
436bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_u8(a, b);
437bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
438bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
439bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
440bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vzip2_u16(uint16x4_t a, uint16x4_t b) {
441651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_u16
442bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_u16(a, b);
443bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
444bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
445bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
446bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vzip2q_u16(uint16x8_t a, uint16x8_t b) {
447651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_u16
448bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_u16(a, b);
449bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
450bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
451bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
452bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vzip2_u32(uint32x2_t a, uint32x2_t b) {
453651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_u32
454bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_u32(a, b);
455651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
456bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
457bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
458bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vzip2q_u32(uint32x4_t a, uint32x4_t b) {
459651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_u32
460bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_u32(a, b);
461bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
462bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
463bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
464bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vzip2q_u64(uint64x2_t a, uint64x2_t b) {
465651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_u64
466bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_u64(a, b);
467651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
468bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
469bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
470bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vzip2_f32(float32x2_t a, float32x2_t b) {
471651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_f32
472bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_f32(a, b);
473651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
474bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
475bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
476bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vzip2q_f32(float32x4_t a, float32x4_t b) {
477651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_f32
478bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_f32(a, b);
479bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
480bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
481bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
482bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vzip2q_f64(float64x2_t a, float64x2_t b) {
483651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_f64
484bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_f64(a, b);
485651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
486bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
487bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
488bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vzip2_p8(poly8x8_t a, poly8x8_t b) {
489651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_p8
490bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_p8(a, b);
491bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
492bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
493bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
494bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vzip2q_p8(poly8x16_t a, poly8x16_t b) {
495651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_p8
496bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_p8(a, b);
497bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
498bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
499bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
500bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vzip2_p16(poly16x4_t a, poly16x4_t b) {
501651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2_p16
502bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2_p16(a, b);
503bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
504bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
505bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
506bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vzip2q_p16(poly16x8_t a, poly16x8_t b) {
507651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip2q_p16
508bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip2q_p16(a, b);
509bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
510bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
511bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
512bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vtrn1_s8(int8x8_t a, int8x8_t b) {
513651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_s8
514bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_s8(a, b);
515bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
516bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
517bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
518bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vtrn1q_s8(int8x16_t a, int8x16_t b) {
519651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_s8
520bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_s8(a, b);
521bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
522bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
523bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
524bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vtrn1_s16(int16x4_t a, int16x4_t b) {
525651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_s16
526bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_s16(a, b);
527bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
528bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
529bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
530bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vtrn1q_s16(int16x8_t a, int16x8_t b) {
531651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_s16
532bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_s16(a, b);
533bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
534bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
535bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
536bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vtrn1_s32(int32x2_t a, int32x2_t b) {
537651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_s32
538bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_s32(a, b);
539651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
540bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
541bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
542bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vtrn1q_s32(int32x4_t a, int32x4_t b) {
543651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_s32
544bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_s32(a, b);
545bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
546bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
547bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
548bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vtrn1q_s64(int64x2_t a, int64x2_t b) {
549651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_s64
550bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_s64(a, b);
551651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
552bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
553bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
554bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vtrn1_u8(uint8x8_t a, uint8x8_t b) {
555651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_u8
556bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_u8(a, b);
557bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
558bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
559bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
560bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vtrn1q_u8(uint8x16_t a, uint8x16_t b) {
561651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_u8
562bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_u8(a, b);
563bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
564bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
565bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
566bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vtrn1_u16(uint16x4_t a, uint16x4_t b) {
567651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_u16
568bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_u16(a, b);
569bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
570bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
571bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
572bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vtrn1q_u16(uint16x8_t a, uint16x8_t b) {
573651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_u16
574bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_u16(a, b);
575bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
576bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
577bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
578bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vtrn1_u32(uint32x2_t a, uint32x2_t b) {
579651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_u32
580bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_u32(a, b);
581651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
582bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
583bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
584bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vtrn1q_u32(uint32x4_t a, uint32x4_t b) {
585651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_u32
586bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_u32(a, b);
587bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
588bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
589bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
590bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vtrn1q_u64(uint64x2_t a, uint64x2_t b) {
591651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_u64
592bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_u64(a, b);
593651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
594bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
595bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
596bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vtrn1_f32(float32x2_t a, float32x2_t b) {
597651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_f32
598bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_f32(a, b);
599651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v0.2s, v0.2s, v1.2s}}
600bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
601bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
602bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vtrn1q_f32(float32x4_t a, float32x4_t b) {
603651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_f32
604bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_f32(a, b);
605bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
606bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
607bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
608bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vtrn1q_f64(float64x2_t a, float64x2_t b) {
609651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_f64
610bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_f64(a, b);
611651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[1\], v[0-9]+.d\[0\]|zip1 v0.2d, v0.2d, v1.2d}}
612bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
613bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
614bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vtrn1_p8(poly8x8_t a, poly8x8_t b) {
615651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_p8
616bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_p8(a, b);
617bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
618bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
619bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
620bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vtrn1q_p8(poly8x16_t a, poly8x16_t b) {
621651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_p8
622bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_p8(a, b);
623bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
624bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
625bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
626bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vtrn1_p16(poly16x4_t a, poly16x4_t b) {
627651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1_p16
628bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1_p16(a, b);
629bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
630bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
631bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
632bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vtrn1q_p16(poly16x8_t a, poly16x8_t b) {
633651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn1q_p16
634bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn1q_p16(a, b);
635bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
636bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
637bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
638bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8_t test_vtrn2_s8(int8x8_t a, int8x8_t b) {
639651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_s8
640bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_s8(a, b);
641bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
642bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
643bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
644bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16_t test_vtrn2q_s8(int8x16_t a, int8x16_t b) {
645651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_s8
646bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_s8(a, b);
647bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
648bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
649bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
650bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4_t test_vtrn2_s16(int16x4_t a, int16x4_t b) {
651651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_s16
652bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_s16(a, b);
653bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
654bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
655bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
656bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8_t test_vtrn2q_s16(int16x8_t a, int16x8_t b) {
657651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_s16
658bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_s16(a, b);
659bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
660bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
661bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
662bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2_t test_vtrn2_s32(int32x2_t a, int32x2_t b) {
663651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_s32
664bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_s32(a, b);
665651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
666bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
667bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
668bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4_t test_vtrn2q_s32(int32x4_t a, int32x4_t b) {
669651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_s32
670bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_s32(a, b);
671bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
672bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
673bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
674bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint64x2_t test_vtrn2q_s64(int64x2_t a, int64x2_t b) {
675651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_s64
676bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_s64(a, b);
677651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
678bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
679bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
680bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8_t test_vtrn2_u8(uint8x8_t a, uint8x8_t b) {
681651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_u8
682bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_u8(a, b);
683bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
684bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
685bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
686bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16_t test_vtrn2q_u8(uint8x16_t a, uint8x16_t b) {
687651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_u8
688bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_u8(a, b);
689bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
690bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
691bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
692bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4_t test_vtrn2_u16(uint16x4_t a, uint16x4_t b) {
693651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_u16
694bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_u16(a, b);
695bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
696bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
697bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
698bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8_t test_vtrn2q_u16(uint16x8_t a, uint16x8_t b) {
699651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_u16
700bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_u16(a, b);
701bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
702bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
703bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
704bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2_t test_vtrn2_u32(uint32x2_t a, uint32x2_t b) {
705651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_u32
706bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_u32(a, b);
707651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
708bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
709bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
710bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4_t test_vtrn2q_u32(uint32x4_t a, uint32x4_t b) {
711651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_u32
712bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_u32(a, b);
713bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
714bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
715bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
716bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint64x2_t test_vtrn2q_u64(uint64x2_t a, uint64x2_t b) {
717651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_u64
718bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_u64(a, b);
719651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
720bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
721bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
722bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2_t test_vtrn2_f32(float32x2_t a, float32x2_t b) {
723651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_f32
724bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_f32(a, b);
725651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v0.2s, v0.2s, v1.2s}}
726bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
727bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
728bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4_t test_vtrn2q_f32(float32x4_t a, float32x4_t b) {
729651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_f32
730bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_f32(a, b);
731bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
732bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
733bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
734bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat64x2_t test_vtrn2q_f64(float64x2_t a, float64x2_t b) {
735651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_f64
736bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_f64(a, b);
737651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.d\[0\], v[0-9]+.d\[1\]|zip2 v0.2d, v0.2d, v1.2d}}
738bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
739bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
740bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8_t test_vtrn2_p8(poly8x8_t a, poly8x8_t b) {
741651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_p8
742bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_p8(a, b);
743bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
744bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
745bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
746bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16_t test_vtrn2q_p8(poly8x16_t a, poly8x16_t b) {
747651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_p8
748bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_p8(a, b);
749bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
750bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
751bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
752bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4_t test_vtrn2_p16(poly16x4_t a, poly16x4_t b) {
753651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2_p16
754bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2_p16(a, b);
755bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
756bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
757bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
758bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8_t test_vtrn2q_p16(poly16x8_t a, poly16x8_t b) {
759651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn2q_p16
760bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn2q_p16(a, b);
761bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
762bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
763bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
764bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8x2_t test_vuzp_s8(int8x8_t a, int8x8_t b) {
765651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_s8
766bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_s8(a, b);
767bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
768bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
769bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
770bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
771bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4x2_t test_vuzp_s16(int16x4_t a, int16x4_t b) {
772651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_s16
773bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_s16(a, b);
774bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
775bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
776bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
777bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2x2_t test_vuzp_s32(int32x2_t a, int32x2_t b) {
778651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_s32
779bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_s32(a, b);
780651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
781651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
782bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
783bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8x2_t test_vuzp_u8(uint8x8_t a, uint8x8_t b) {
784651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_u8
785bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_u8(a, b);
786bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
787bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
788bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
789bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4x2_t test_vuzp_u16(uint16x4_t a, uint16x4_t b) {
790651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_u16
791bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_u16(a, b);
792bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
793bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
794bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
795bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2x2_t test_vuzp_u32(uint32x2_t a, uint32x2_t b) {
796651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_u32
797bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_u32(a, b);
798651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
799651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
800bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
801bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2x2_t test_vuzp_f32(float32x2_t a, float32x2_t b) {
802651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_f32
803bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_f32(a, b);
804651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
805651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
806bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
807bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8x2_t test_vuzp_p8(poly8x8_t a, poly8x8_t b) {
808651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_p8
809bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_p8(a, b);
810bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
811bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
812bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
813bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4x2_t test_vuzp_p16(poly16x4_t a, poly16x4_t b) {
814651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzp_p16
815bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzp_p16(a, b);
816bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
817bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
818bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
819bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16x2_t test_vuzpq_s8(int8x16_t a, int8x16_t b) {
820651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_s8
821bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_s8(a, b);
822bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
823bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
824bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
825bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8x2_t test_vuzpq_s16(int16x8_t a, int16x8_t b) {
826651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_s16
827bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_s16(a, b);
828bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
829bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
830bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
831bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4x2_t test_vuzpq_s32(int32x4_t a, int32x4_t b) {
832651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_s32
833bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_s32(a, b);
834bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
835bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
836bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
837bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16x2_t test_vuzpq_u8(uint8x16_t a, uint8x16_t b) {
838651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_u8
839bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_u8(a, b);
840bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
841bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
842bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
843bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8x2_t test_vuzpq_u16(uint16x8_t a, uint16x8_t b) {
844651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_u16
845bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_u16(a, b);
846bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
847bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
848bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
849bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4x2_t test_vuzpq_u32(uint32x4_t a, uint32x4_t b) {
850651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_u32
851bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_u32(a, b);
852bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
853bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
854bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
855bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4x2_t test_vuzpq_f32(float32x4_t a, float32x4_t b) {
856651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_f32
857bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_f32(a, b);
858bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
859bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
860bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
861bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16x2_t test_vuzpq_p8(poly8x16_t a, poly8x16_t b) {
862651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_p8
863bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_p8(a, b);
864bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
865bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
866bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
867bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8x2_t test_vuzpq_p16(poly16x8_t a, poly16x8_t b) {
868651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vuzpq_p16
869bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vuzpq_p16(a, b);
870bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
871bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: uzp2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
872bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
873bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
874bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8x2_t test_vzip_s8(int8x8_t a, int8x8_t b) {
875651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_s8
876bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_s8(a, b);
877bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
878bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
879bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
880bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
881bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4x2_t test_vzip_s16(int16x4_t a, int16x4_t b) {
882651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_s16
883bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_s16(a, b);
884bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
885bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
886bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
887bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2x2_t test_vzip_s32(int32x2_t a, int32x2_t b) {
888651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_s32
889bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_s32(a, b);
890651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
891651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
892bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
893bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8x2_t test_vzip_u8(uint8x8_t a, uint8x8_t b) {
894651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_u8
895bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_u8(a, b);
896bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
897bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
898bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
899bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4x2_t test_vzip_u16(uint16x4_t a, uint16x4_t b) {
900651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_u16
901bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_u16(a, b);
902bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
903bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
904bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
905bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2x2_t test_vzip_u32(uint32x2_t a, uint32x2_t b) {
906651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_u32
907bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_u32(a, b);
908651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
909651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
910bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
911bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2x2_t test_vzip_f32(float32x2_t a, float32x2_t b) {
912651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_f32
913bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_f32(a, b);
914651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
915651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
916bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
917bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8x2_t test_vzip_p8(poly8x8_t a, poly8x8_t b) {
918651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_p8
919bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_p8(a, b);
920bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
921bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
922bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
923bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4x2_t test_vzip_p16(poly16x4_t a, poly16x4_t b) {
924651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzip_p16
925bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzip_p16(a, b);
926bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
927bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
928bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
929bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16x2_t test_vzipq_s8(int8x16_t a, int8x16_t b) {
930651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_s8
931bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_s8(a, b);
932bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
933bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
934bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
935bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8x2_t test_vzipq_s16(int16x8_t a, int16x8_t b) {
936651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_s16
937bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_s16(a, b);
938bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
939bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
940bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
941bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4x2_t test_vzipq_s32(int32x4_t a, int32x4_t b) {
942651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_s32
943bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_s32(a, b);
944bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
945bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
946bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
947bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16x2_t test_vzipq_u8(uint8x16_t a, uint8x16_t b) {
948651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_u8
949bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_u8(a, b);
950bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
951bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
952bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
953bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8x2_t test_vzipq_u16(uint16x8_t a, uint16x8_t b) {
954651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_u16
955bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_u16(a, b);
956bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
957bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
958bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
959bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4x2_t test_vzipq_u32(uint32x4_t a, uint32x4_t b) {
960651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_u32
961bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_u32(a, b);
962bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
963bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
964bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
965bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4x2_t test_vzipq_f32(float32x4_t a, float32x4_t b) {
966651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_f32
967bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_f32(a, b);
968bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
969bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
970bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
971bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16x2_t test_vzipq_p8(poly8x16_t a, poly8x16_t b) {
972651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_p8
973bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_p8(a, b);
974bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
975bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
976bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
977bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8x2_t test_vzipq_p16(poly16x8_t a, poly16x8_t b) {
978651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vzipq_p16
979bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vzipq_p16(a, b);
980bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
981bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: zip2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
982bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
983bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
984bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x8x2_t test_vtrn_s8(int8x8_t a, int8x8_t b) {
985651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_s8
986bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_s8(a, b);
987bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
988bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
989bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
990bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu
991bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x4x2_t test_vtrn_s16(int16x4_t a, int16x4_t b) {
992651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_s16
993bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_s16(a, b);
994bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
995bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
996bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
997bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x2x2_t test_vtrn_s32(int32x2_t a, int32x2_t b) {
998651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_s32
999bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_s32(a, b);
1000651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
1001651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
1002bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1003bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x8x2_t test_vtrn_u8(uint8x8_t a, uint8x8_t b) {
1004651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_u8
1005bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_u8(a, b);
1006bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
1007bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
1008bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1009bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x4x2_t test_vtrn_u16(uint16x4_t a, uint16x4_t b) {
1010651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_u16
1011bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_u16(a, b);
1012bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
1013bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
1014bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1015bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x2x2_t test_vtrn_u32(uint32x2_t a, uint32x2_t b) {
1016651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_u32
1017bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_u32(a, b);
1018651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
1019651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
1020bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1021bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x2x2_t test_vtrn_f32(float32x2_t a, float32x2_t b) {
1022651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_f32
1023bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_f32(a, b);
1024651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[1\], v[0-9]+.s\[0\]|zip1 v2.2s, v0.2s, v1.2s}}
1025651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ins v[0-9]+.s\[0\], v[0-9]+.s\[1\]|zip2 v1.2s, v0.2s, v1.2s}}
1026bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1027bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x8x2_t test_vtrn_p8(poly8x8_t a, poly8x8_t b) {
1028651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_p8
1029bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_p8(a, b);
1030bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
1031bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
1032bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1033bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x4x2_t test_vtrn_p16(poly16x4_t a, poly16x4_t b) {
1034651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrn_p16
1035bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrn_p16(a, b);
1036bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
1037bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
1038bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1039bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint8x16x2_t test_vtrnq_s8(int8x16_t a, int8x16_t b) {
1040651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_s8
1041bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_s8(a, b);
1042bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1043bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1044bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1045bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint16x8x2_t test_vtrnq_s16(int16x8_t a, int16x8_t b) {
1046651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_s16
1047bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_s16(a, b);
1048bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1049bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1050bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1051bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuint32x4x2_t test_vtrnq_s32(int32x4_t a, int32x4_t b) {
1052651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_s32
1053bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_s32(a, b);
1054bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1055bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1056bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1057bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint8x16x2_t test_vtrnq_u8(uint8x16_t a, uint8x16_t b) {
1058651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_u8
1059bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_u8(a, b);
1060bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1061bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1062bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1063bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint16x8x2_t test_vtrnq_u16(uint16x8_t a, uint16x8_t b) {
1064651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_u16
1065bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_u16(a, b);
1066bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1067bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1068bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1069bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liuuint32x4x2_t test_vtrnq_u32(uint32x4_t a, uint32x4_t b) {
1070651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_u32
1071bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_u32(a, b);
1072bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1073bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1074bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1075bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liufloat32x4x2_t test_vtrnq_f32(float32x4_t a, float32x4_t b) {
1076651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_f32
1077bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_f32(a, b);
1078bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1079bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.4s, {{v[0-9]+}}.4s
1080bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1081bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly8x16x2_t test_vtrnq_p8(poly8x16_t a, poly8x16_t b) {
1082651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_p8
1083bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_p8(a, b);
1084bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1085bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
1086bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1087bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liupoly16x8x2_t test_vtrnq_p16(poly16x8_t a, poly16x8_t b) {
1088651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vtrnq_p16
1089bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  return vtrnq_p16(a, b);
1090bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn1 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1091bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu  // CHECK: trn2 {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
1092bf3bc5d37eff88b578d5990f507a87db33f30a6eJiangning Liu}
1093