1f4a2713aSLionel Sambuc // REQUIRES: aarch64-registered-target
2*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
3f4a2713aSLionel Sambuc // RUN: -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
4f4a2713aSLionel Sambuc
5f4a2713aSLionel Sambuc // Test new aarch64 intrinsics and types
6f4a2713aSLionel Sambuc
7f4a2713aSLionel Sambuc #include <arm_neon.h>
8f4a2713aSLionel Sambuc
9*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_s8
10*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vceqz_s8(int8x8_t a)11f4a2713aSLionel Sambuc uint8x8_t test_vceqz_s8(int8x8_t a) {
12f4a2713aSLionel Sambuc return vceqz_s8(a);
13f4a2713aSLionel Sambuc }
14f4a2713aSLionel Sambuc
15*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_s16
16*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vceqz_s16(int16x4_t a)17f4a2713aSLionel Sambuc uint16x4_t test_vceqz_s16(int16x4_t a) {
18f4a2713aSLionel Sambuc return vceqz_s16(a);
19f4a2713aSLionel Sambuc }
20f4a2713aSLionel Sambuc
21*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_s32
22*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #{{0x0|0}}
test_vceqz_s32(int32x2_t a)23f4a2713aSLionel Sambuc uint32x2_t test_vceqz_s32(int32x2_t a) {
24f4a2713aSLionel Sambuc return vceqz_s32(a);
25f4a2713aSLionel Sambuc }
26f4a2713aSLionel Sambuc
27*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_s64
28*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vceqz_s64(int64x1_t a)29*0a6a1f1dSLionel Sambuc uint64x1_t test_vceqz_s64(int64x1_t a) {
30*0a6a1f1dSLionel Sambuc return vceqz_s64(a);
31*0a6a1f1dSLionel Sambuc }
32*0a6a1f1dSLionel Sambuc
33*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_u64
34*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vceqz_u64(uint64x1_t a)35*0a6a1f1dSLionel Sambuc uint64x1_t test_vceqz_u64(uint64x1_t a) {
36*0a6a1f1dSLionel Sambuc return vceqz_u64(a);
37*0a6a1f1dSLionel Sambuc }
38*0a6a1f1dSLionel Sambuc
39*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_p64
40*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vceqz_p64(poly64x1_t a)41*0a6a1f1dSLionel Sambuc uint64x1_t test_vceqz_p64(poly64x1_t a) {
42*0a6a1f1dSLionel Sambuc return vceqz_p64(a);
43*0a6a1f1dSLionel Sambuc }
44*0a6a1f1dSLionel Sambuc
45*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_s8
46*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vceqzq_s8(int8x16_t a)47f4a2713aSLionel Sambuc uint8x16_t test_vceqzq_s8(int8x16_t a) {
48f4a2713aSLionel Sambuc return vceqzq_s8(a);
49f4a2713aSLionel Sambuc }
50f4a2713aSLionel Sambuc
51*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_s16
52*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vceqzq_s16(int16x8_t a)53f4a2713aSLionel Sambuc uint16x8_t test_vceqzq_s16(int16x8_t a) {
54f4a2713aSLionel Sambuc return vceqzq_s16(a);
55f4a2713aSLionel Sambuc }
56f4a2713aSLionel Sambuc
57*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_s32
58*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #{{0x0|0}}
test_vceqzq_s32(int32x4_t a)59f4a2713aSLionel Sambuc uint32x4_t test_vceqzq_s32(int32x4_t a) {
60f4a2713aSLionel Sambuc return vceqzq_s32(a);
61f4a2713aSLionel Sambuc }
62f4a2713aSLionel Sambuc
63*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_s64
64*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #{{0x0|0}}
test_vceqzq_s64(int64x2_t a)65f4a2713aSLionel Sambuc uint64x2_t test_vceqzq_s64(int64x2_t a) {
66f4a2713aSLionel Sambuc return vceqzq_s64(a);
67f4a2713aSLionel Sambuc }
68f4a2713aSLionel Sambuc
69*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_u8
70*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vceqz_u8(uint8x8_t a)71f4a2713aSLionel Sambuc uint8x8_t test_vceqz_u8(uint8x8_t a) {
72f4a2713aSLionel Sambuc return vceqz_u8(a);
73f4a2713aSLionel Sambuc }
74f4a2713aSLionel Sambuc
75*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_u16
76*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vceqz_u16(uint16x4_t a)77f4a2713aSLionel Sambuc uint16x4_t test_vceqz_u16(uint16x4_t a) {
78f4a2713aSLionel Sambuc return vceqz_u16(a);
79f4a2713aSLionel Sambuc }
80f4a2713aSLionel Sambuc
81*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_u32
82*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #{{0x0|0}}
test_vceqz_u32(uint32x2_t a)83f4a2713aSLionel Sambuc uint32x2_t test_vceqz_u32(uint32x2_t a) {
84f4a2713aSLionel Sambuc return vceqz_u32(a);
85f4a2713aSLionel Sambuc }
86f4a2713aSLionel Sambuc
87*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_u8
88*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vceqzq_u8(uint8x16_t a)89f4a2713aSLionel Sambuc uint8x16_t test_vceqzq_u8(uint8x16_t a) {
90f4a2713aSLionel Sambuc return vceqzq_u8(a);
91f4a2713aSLionel Sambuc }
92f4a2713aSLionel Sambuc
93*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_u16
94*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vceqzq_u16(uint16x8_t a)95f4a2713aSLionel Sambuc uint16x8_t test_vceqzq_u16(uint16x8_t a) {
96f4a2713aSLionel Sambuc return vceqzq_u16(a);
97f4a2713aSLionel Sambuc }
98f4a2713aSLionel Sambuc
99*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_u32
100*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #{{0x0|0}}
test_vceqzq_u32(uint32x4_t a)101f4a2713aSLionel Sambuc uint32x4_t test_vceqzq_u32(uint32x4_t a) {
102f4a2713aSLionel Sambuc return vceqzq_u32(a);
103f4a2713aSLionel Sambuc }
104f4a2713aSLionel Sambuc
105*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_u64
106*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #{{0x0|0}}
test_vceqzq_u64(uint64x2_t a)107f4a2713aSLionel Sambuc uint64x2_t test_vceqzq_u64(uint64x2_t a) {
108f4a2713aSLionel Sambuc return vceqzq_u64(a);
109f4a2713aSLionel Sambuc }
110f4a2713aSLionel Sambuc
111*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_f32
112f4a2713aSLionel Sambuc // CHECK: fcmeq {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
test_vceqz_f32(float32x2_t a)113f4a2713aSLionel Sambuc uint32x2_t test_vceqz_f32(float32x2_t a) {
114f4a2713aSLionel Sambuc return vceqz_f32(a);
115f4a2713aSLionel Sambuc }
116f4a2713aSLionel Sambuc
117*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_f64
118*0a6a1f1dSLionel Sambuc // CHECK: fcmeq {{d[0-9]+}}, {{d[0-9]+}}, #0
test_vceqz_f64(float64x1_t a)119*0a6a1f1dSLionel Sambuc uint64x1_t test_vceqz_f64(float64x1_t a) {
120*0a6a1f1dSLionel Sambuc return vceqz_f64(a);
121*0a6a1f1dSLionel Sambuc }
122*0a6a1f1dSLionel Sambuc
123*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_f32
124f4a2713aSLionel Sambuc // CHECK: fcmeq {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
test_vceqzq_f32(float32x4_t a)125f4a2713aSLionel Sambuc uint32x4_t test_vceqzq_f32(float32x4_t a) {
126f4a2713aSLionel Sambuc return vceqzq_f32(a);
127f4a2713aSLionel Sambuc }
128f4a2713aSLionel Sambuc
129*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_p8
130*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vceqz_p8(poly8x8_t a)131*0a6a1f1dSLionel Sambuc uint8x8_t test_vceqz_p8(poly8x8_t a) {
132*0a6a1f1dSLionel Sambuc return vceqz_p8(a);
133*0a6a1f1dSLionel Sambuc }
134*0a6a1f1dSLionel Sambuc
135*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_p8
136*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vceqzq_p8(poly8x16_t a)137*0a6a1f1dSLionel Sambuc uint8x16_t test_vceqzq_p8(poly8x16_t a) {
138*0a6a1f1dSLionel Sambuc return vceqzq_p8(a);
139*0a6a1f1dSLionel Sambuc }
140*0a6a1f1dSLionel Sambuc
141*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqz_p16
142*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vceqz_p16(poly16x4_t a)143f4a2713aSLionel Sambuc uint16x4_t test_vceqz_p16(poly16x4_t a) {
144f4a2713aSLionel Sambuc return vceqz_p16(a);
145f4a2713aSLionel Sambuc }
146f4a2713aSLionel Sambuc
147*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_p16
148*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vceqzq_p16(poly16x8_t a)149f4a2713aSLionel Sambuc uint16x8_t test_vceqzq_p16(poly16x8_t a) {
150f4a2713aSLionel Sambuc return vceqzq_p16(a);
151f4a2713aSLionel Sambuc }
152f4a2713aSLionel Sambuc
153*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_f64
154f4a2713aSLionel Sambuc // CHECK: fcmeq {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vceqzq_f64(float64x2_t a)155f4a2713aSLionel Sambuc uint64x2_t test_vceqzq_f64(float64x2_t a) {
156f4a2713aSLionel Sambuc return vceqzq_f64(a);
157f4a2713aSLionel Sambuc }
158f4a2713aSLionel Sambuc
159*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vceqzq_p64
160*0a6a1f1dSLionel Sambuc // CHECK: cmeq {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vceqzq_p64(poly64x2_t a)161*0a6a1f1dSLionel Sambuc uint64x2_t test_vceqzq_p64(poly64x2_t a) {
162*0a6a1f1dSLionel Sambuc return vceqzq_p64(a);
163*0a6a1f1dSLionel Sambuc }
164*0a6a1f1dSLionel Sambuc
165*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_s8
166*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vcgez_s8(int8x8_t a)167f4a2713aSLionel Sambuc uint8x8_t test_vcgez_s8(int8x8_t a) {
168f4a2713aSLionel Sambuc return vcgez_s8(a);
169f4a2713aSLionel Sambuc }
170f4a2713aSLionel Sambuc
171*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_s16
172*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vcgez_s16(int16x4_t a)173f4a2713aSLionel Sambuc uint16x4_t test_vcgez_s16(int16x4_t a) {
174f4a2713aSLionel Sambuc return vcgez_s16(a);
175f4a2713aSLionel Sambuc }
176f4a2713aSLionel Sambuc
177*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_s32
178*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #{{0x0|0}}
test_vcgez_s32(int32x2_t a)179f4a2713aSLionel Sambuc uint32x2_t test_vcgez_s32(int32x2_t a) {
180f4a2713aSLionel Sambuc return vcgez_s32(a);
181f4a2713aSLionel Sambuc }
182f4a2713aSLionel Sambuc
183*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_s64
184*0a6a1f1dSLionel Sambuc // CHECK: cmge {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vcgez_s64(int64x1_t a)185*0a6a1f1dSLionel Sambuc uint64x1_t test_vcgez_s64(int64x1_t a) {
186*0a6a1f1dSLionel Sambuc return vcgez_s64(a);
187*0a6a1f1dSLionel Sambuc }
188*0a6a1f1dSLionel Sambuc
189*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_s8
190*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vcgezq_s8(int8x16_t a)191f4a2713aSLionel Sambuc uint8x16_t test_vcgezq_s8(int8x16_t a) {
192f4a2713aSLionel Sambuc return vcgezq_s8(a);
193f4a2713aSLionel Sambuc }
194f4a2713aSLionel Sambuc
195*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_s16
196*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vcgezq_s16(int16x8_t a)197f4a2713aSLionel Sambuc uint16x8_t test_vcgezq_s16(int16x8_t a) {
198f4a2713aSLionel Sambuc return vcgezq_s16(a);
199f4a2713aSLionel Sambuc }
200f4a2713aSLionel Sambuc
201*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_s32
202*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #{{0x0|0}}
test_vcgezq_s32(int32x4_t a)203f4a2713aSLionel Sambuc uint32x4_t test_vcgezq_s32(int32x4_t a) {
204f4a2713aSLionel Sambuc return vcgezq_s32(a);
205f4a2713aSLionel Sambuc }
206f4a2713aSLionel Sambuc
207*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_s64
208*0a6a1f1dSLionel Sambuc // CHECK: cmge {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #{{0x0|0}}
test_vcgezq_s64(int64x2_t a)209f4a2713aSLionel Sambuc uint64x2_t test_vcgezq_s64(int64x2_t a) {
210f4a2713aSLionel Sambuc return vcgezq_s64(a);
211f4a2713aSLionel Sambuc }
212f4a2713aSLionel Sambuc
213*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_f32
214f4a2713aSLionel Sambuc // CHECK: fcmge {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
test_vcgez_f32(float32x2_t a)215f4a2713aSLionel Sambuc uint32x2_t test_vcgez_f32(float32x2_t a) {
216f4a2713aSLionel Sambuc return vcgez_f32(a);
217f4a2713aSLionel Sambuc }
218f4a2713aSLionel Sambuc
219*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgez_f64
220*0a6a1f1dSLionel Sambuc // CHECK: fcmge {{d[0-9]+}}, {{d[0-9]+}}, #0
test_vcgez_f64(float64x1_t a)221*0a6a1f1dSLionel Sambuc uint64x1_t test_vcgez_f64(float64x1_t a) {
222*0a6a1f1dSLionel Sambuc return vcgez_f64(a);
223*0a6a1f1dSLionel Sambuc }
224*0a6a1f1dSLionel Sambuc
225*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_f32
226f4a2713aSLionel Sambuc // CHECK: fcmge {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
test_vcgezq_f32(float32x4_t a)227f4a2713aSLionel Sambuc uint32x4_t test_vcgezq_f32(float32x4_t a) {
228f4a2713aSLionel Sambuc return vcgezq_f32(a);
229f4a2713aSLionel Sambuc }
230f4a2713aSLionel Sambuc
231*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgezq_f64
232f4a2713aSLionel Sambuc // CHECK: fcmge {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vcgezq_f64(float64x2_t a)233f4a2713aSLionel Sambuc uint64x2_t test_vcgezq_f64(float64x2_t a) {
234f4a2713aSLionel Sambuc return vcgezq_f64(a);
235f4a2713aSLionel Sambuc }
236f4a2713aSLionel Sambuc
237*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_s8
238*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vclez_s8(int8x8_t a)239f4a2713aSLionel Sambuc uint8x8_t test_vclez_s8(int8x8_t a) {
240f4a2713aSLionel Sambuc return vclez_s8(a);
241f4a2713aSLionel Sambuc }
242f4a2713aSLionel Sambuc
243*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_s16
244*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vclez_s16(int16x4_t a)245f4a2713aSLionel Sambuc uint16x4_t test_vclez_s16(int16x4_t a) {
246f4a2713aSLionel Sambuc return vclez_s16(a);
247f4a2713aSLionel Sambuc }
248f4a2713aSLionel Sambuc
249*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_s32
250*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #{{0x0|0}}
test_vclez_s32(int32x2_t a)251f4a2713aSLionel Sambuc uint32x2_t test_vclez_s32(int32x2_t a) {
252f4a2713aSLionel Sambuc return vclez_s32(a);
253f4a2713aSLionel Sambuc }
254f4a2713aSLionel Sambuc
255*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_s64
256*0a6a1f1dSLionel Sambuc // CHECK: cmle {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vclez_s64(int64x1_t a)257*0a6a1f1dSLionel Sambuc uint64x1_t test_vclez_s64(int64x1_t a) {
258*0a6a1f1dSLionel Sambuc return vclez_s64(a);
259*0a6a1f1dSLionel Sambuc }
260*0a6a1f1dSLionel Sambuc
261*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_s8
262*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vclezq_s8(int8x16_t a)263f4a2713aSLionel Sambuc uint8x16_t test_vclezq_s8(int8x16_t a) {
264f4a2713aSLionel Sambuc return vclezq_s8(a);
265f4a2713aSLionel Sambuc }
266f4a2713aSLionel Sambuc
267*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_s16
268*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vclezq_s16(int16x8_t a)269f4a2713aSLionel Sambuc uint16x8_t test_vclezq_s16(int16x8_t a) {
270f4a2713aSLionel Sambuc return vclezq_s16(a);
271f4a2713aSLionel Sambuc }
272f4a2713aSLionel Sambuc
273*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_s32
274*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #{{0x0|0}}
test_vclezq_s32(int32x4_t a)275f4a2713aSLionel Sambuc uint32x4_t test_vclezq_s32(int32x4_t a) {
276f4a2713aSLionel Sambuc return vclezq_s32(a);
277f4a2713aSLionel Sambuc }
278f4a2713aSLionel Sambuc
279*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_s64
280*0a6a1f1dSLionel Sambuc // CHECK: cmle {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #{{0x0|0}}
test_vclezq_s64(int64x2_t a)281f4a2713aSLionel Sambuc uint64x2_t test_vclezq_s64(int64x2_t a) {
282f4a2713aSLionel Sambuc return vclezq_s64(a);
283f4a2713aSLionel Sambuc }
284f4a2713aSLionel Sambuc
285*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_f32
286f4a2713aSLionel Sambuc // CHECK: fcmle {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
test_vclez_f32(float32x2_t a)287f4a2713aSLionel Sambuc uint32x2_t test_vclez_f32(float32x2_t a) {
288f4a2713aSLionel Sambuc return vclez_f32(a);
289f4a2713aSLionel Sambuc }
290f4a2713aSLionel Sambuc
291*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclez_f64
292*0a6a1f1dSLionel Sambuc // CHECK: fcmle {{d[0-9]+}}, {{d[0-9]+}}, #0
test_vclez_f64(float64x1_t a)293*0a6a1f1dSLionel Sambuc uint64x1_t test_vclez_f64(float64x1_t a) {
294*0a6a1f1dSLionel Sambuc return vclez_f64(a);
295*0a6a1f1dSLionel Sambuc }
296*0a6a1f1dSLionel Sambuc
297*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_f32
298f4a2713aSLionel Sambuc // CHECK: fcmle {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
test_vclezq_f32(float32x4_t a)299f4a2713aSLionel Sambuc uint32x4_t test_vclezq_f32(float32x4_t a) {
300f4a2713aSLionel Sambuc return vclezq_f32(a);
301f4a2713aSLionel Sambuc }
302f4a2713aSLionel Sambuc
303*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclezq_f64
304f4a2713aSLionel Sambuc // CHECK: fcmle {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vclezq_f64(float64x2_t a)305f4a2713aSLionel Sambuc uint64x2_t test_vclezq_f64(float64x2_t a) {
306f4a2713aSLionel Sambuc return vclezq_f64(a);
307f4a2713aSLionel Sambuc }
308f4a2713aSLionel Sambuc
309*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_s8
310*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #{{0x0|0}}
test_vcgtz_s8(int8x8_t a)311f4a2713aSLionel Sambuc uint8x8_t test_vcgtz_s8(int8x8_t a) {
312f4a2713aSLionel Sambuc return vcgtz_s8(a);
313f4a2713aSLionel Sambuc }
314f4a2713aSLionel Sambuc
315*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_s16
316*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #{{0x0|0}}
test_vcgtz_s16(int16x4_t a)317f4a2713aSLionel Sambuc uint16x4_t test_vcgtz_s16(int16x4_t a) {
318f4a2713aSLionel Sambuc return vcgtz_s16(a);
319f4a2713aSLionel Sambuc }
320f4a2713aSLionel Sambuc
321*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_s32
322*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #{{0x0|0}}
test_vcgtz_s32(int32x2_t a)323f4a2713aSLionel Sambuc uint32x2_t test_vcgtz_s32(int32x2_t a) {
324f4a2713aSLionel Sambuc return vcgtz_s32(a);
325f4a2713aSLionel Sambuc }
326f4a2713aSLionel Sambuc
327*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_s64
328*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{d[0-9]+}}, {{d[0-9]+}}, #{{0x0|0}}
test_vcgtz_s64(int64x1_t a)329*0a6a1f1dSLionel Sambuc uint64x1_t test_vcgtz_s64(int64x1_t a) {
330*0a6a1f1dSLionel Sambuc return vcgtz_s64(a);
331*0a6a1f1dSLionel Sambuc }
332*0a6a1f1dSLionel Sambuc
333*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_s8
334*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #{{0x0|0}}
test_vcgtzq_s8(int8x16_t a)335f4a2713aSLionel Sambuc uint8x16_t test_vcgtzq_s8(int8x16_t a) {
336f4a2713aSLionel Sambuc return vcgtzq_s8(a);
337f4a2713aSLionel Sambuc }
338f4a2713aSLionel Sambuc
339*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_s16
340*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #{{0x0|0}}
test_vcgtzq_s16(int16x8_t a)341f4a2713aSLionel Sambuc uint16x8_t test_vcgtzq_s16(int16x8_t a) {
342f4a2713aSLionel Sambuc return vcgtzq_s16(a);
343f4a2713aSLionel Sambuc }
344f4a2713aSLionel Sambuc
345*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_s32
346*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #{{0x0|0}}
test_vcgtzq_s32(int32x4_t a)347f4a2713aSLionel Sambuc uint32x4_t test_vcgtzq_s32(int32x4_t a) {
348f4a2713aSLionel Sambuc return vcgtzq_s32(a);
349f4a2713aSLionel Sambuc }
350f4a2713aSLionel Sambuc
351*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_s64
352*0a6a1f1dSLionel Sambuc // CHECK: cmgt {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #{{0x0|0}}
test_vcgtzq_s64(int64x2_t a)353f4a2713aSLionel Sambuc uint64x2_t test_vcgtzq_s64(int64x2_t a) {
354f4a2713aSLionel Sambuc return vcgtzq_s64(a);
355f4a2713aSLionel Sambuc }
356f4a2713aSLionel Sambuc
357*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_f32
358f4a2713aSLionel Sambuc // CHECK: fcmgt {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
test_vcgtz_f32(float32x2_t a)359f4a2713aSLionel Sambuc uint32x2_t test_vcgtz_f32(float32x2_t a) {
360f4a2713aSLionel Sambuc return vcgtz_f32(a);
361f4a2713aSLionel Sambuc }
362f4a2713aSLionel Sambuc
363*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtz_f64
364*0a6a1f1dSLionel Sambuc // CHECK: fcmgt {{d[0-9]+}}, {{d[0-9]+}}, #0
test_vcgtz_f64(float64x1_t a)365*0a6a1f1dSLionel Sambuc uint64x1_t test_vcgtz_f64(float64x1_t a) {
366*0a6a1f1dSLionel Sambuc return vcgtz_f64(a);
367*0a6a1f1dSLionel Sambuc }
368*0a6a1f1dSLionel Sambuc
369*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_f32
370f4a2713aSLionel Sambuc // CHECK: fcmgt {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
test_vcgtzq_f32(float32x4_t a)371f4a2713aSLionel Sambuc uint32x4_t test_vcgtzq_f32(float32x4_t a) {
372f4a2713aSLionel Sambuc return vcgtzq_f32(a);
373f4a2713aSLionel Sambuc }
374f4a2713aSLionel Sambuc
375*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcgtzq_f64
376f4a2713aSLionel Sambuc // CHECK: fcmgt {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vcgtzq_f64(float64x2_t a)377f4a2713aSLionel Sambuc uint64x2_t test_vcgtzq_f64(float64x2_t a) {
378f4a2713aSLionel Sambuc return vcgtzq_f64(a);
379f4a2713aSLionel Sambuc }
380f4a2713aSLionel Sambuc
381*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_s8
382*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #7
test_vcltz_s8(int8x8_t a)383f4a2713aSLionel Sambuc uint8x8_t test_vcltz_s8(int8x8_t a) {
384f4a2713aSLionel Sambuc return vcltz_s8(a);
385f4a2713aSLionel Sambuc }
386f4a2713aSLionel Sambuc
387*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_s16
388*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #15
test_vcltz_s16(int16x4_t a)389f4a2713aSLionel Sambuc uint16x4_t test_vcltz_s16(int16x4_t a) {
390f4a2713aSLionel Sambuc return vcltz_s16(a);
391f4a2713aSLionel Sambuc }
392f4a2713aSLionel Sambuc
393*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_s32
394*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #31
test_vcltz_s32(int32x2_t a)395f4a2713aSLionel Sambuc uint32x2_t test_vcltz_s32(int32x2_t a) {
396f4a2713aSLionel Sambuc return vcltz_s32(a);
397f4a2713aSLionel Sambuc }
398f4a2713aSLionel Sambuc
399*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_s64
400*0a6a1f1dSLionel Sambuc // CHECK: sshr {{d[0-9]+}}, {{d[0-9]+}}, #63
test_vcltz_s64(int64x1_t a)401*0a6a1f1dSLionel Sambuc uint64x1_t test_vcltz_s64(int64x1_t a) {
402*0a6a1f1dSLionel Sambuc return vcltz_s64(a);
403*0a6a1f1dSLionel Sambuc }
404*0a6a1f1dSLionel Sambuc
405*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_s8
406*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #7
test_vcltzq_s8(int8x16_t a)407f4a2713aSLionel Sambuc uint8x16_t test_vcltzq_s8(int8x16_t a) {
408f4a2713aSLionel Sambuc return vcltzq_s8(a);
409f4a2713aSLionel Sambuc }
410f4a2713aSLionel Sambuc
411*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_s16
412*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #15
test_vcltzq_s16(int16x8_t a)413f4a2713aSLionel Sambuc uint16x8_t test_vcltzq_s16(int16x8_t a) {
414f4a2713aSLionel Sambuc return vcltzq_s16(a);
415f4a2713aSLionel Sambuc }
416f4a2713aSLionel Sambuc
417*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_s32
418*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #31
test_vcltzq_s32(int32x4_t a)419f4a2713aSLionel Sambuc uint32x4_t test_vcltzq_s32(int32x4_t a) {
420f4a2713aSLionel Sambuc return vcltzq_s32(a);
421f4a2713aSLionel Sambuc }
422f4a2713aSLionel Sambuc
423*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_s64
424*0a6a1f1dSLionel Sambuc // CHECK: sshr {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #63
test_vcltzq_s64(int64x2_t a)425f4a2713aSLionel Sambuc uint64x2_t test_vcltzq_s64(int64x2_t a) {
426f4a2713aSLionel Sambuc return vcltzq_s64(a);
427f4a2713aSLionel Sambuc }
428f4a2713aSLionel Sambuc
429*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_f32
430f4a2713aSLionel Sambuc // CHECK: fcmlt {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
test_vcltz_f32(float32x2_t a)431f4a2713aSLionel Sambuc uint32x2_t test_vcltz_f32(float32x2_t a) {
432f4a2713aSLionel Sambuc return vcltz_f32(a);
433f4a2713aSLionel Sambuc }
434f4a2713aSLionel Sambuc
435*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltz_f64
436*0a6a1f1dSLionel Sambuc // CHECK: fcmlt {{d[0-9]+}}, {{d[0-9]+}}, #0
test_vcltz_f64(float64x1_t a)437*0a6a1f1dSLionel Sambuc uint64x1_t test_vcltz_f64(float64x1_t a) {
438*0a6a1f1dSLionel Sambuc return vcltz_f64(a);
439*0a6a1f1dSLionel Sambuc }
440*0a6a1f1dSLionel Sambuc
441*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_f32
442f4a2713aSLionel Sambuc // CHECK: fcmlt {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
test_vcltzq_f32(float32x4_t a)443f4a2713aSLionel Sambuc uint32x4_t test_vcltzq_f32(float32x4_t a) {
444f4a2713aSLionel Sambuc return vcltzq_f32(a);
445f4a2713aSLionel Sambuc }
446f4a2713aSLionel Sambuc
447*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcltzq_f64
448f4a2713aSLionel Sambuc // CHECK: fcmlt {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
test_vcltzq_f64(float64x2_t a)449f4a2713aSLionel Sambuc uint64x2_t test_vcltzq_f64(float64x2_t a) {
450f4a2713aSLionel Sambuc return vcltzq_f64(a);
451f4a2713aSLionel Sambuc }
452f4a2713aSLionel Sambuc
453*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16_s8
454f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev16_s8(int8x8_t a)455f4a2713aSLionel Sambuc int8x8_t test_vrev16_s8(int8x8_t a) {
456f4a2713aSLionel Sambuc return vrev16_s8(a);
457f4a2713aSLionel Sambuc }
458f4a2713aSLionel Sambuc
459*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16_u8
460f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev16_u8(uint8x8_t a)461f4a2713aSLionel Sambuc uint8x8_t test_vrev16_u8(uint8x8_t a) {
462f4a2713aSLionel Sambuc return vrev16_u8(a);
463f4a2713aSLionel Sambuc }
464f4a2713aSLionel Sambuc
465*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16_p8
466f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev16_p8(poly8x8_t a)467f4a2713aSLionel Sambuc poly8x8_t test_vrev16_p8(poly8x8_t a) {
468f4a2713aSLionel Sambuc return vrev16_p8(a);
469f4a2713aSLionel Sambuc }
470f4a2713aSLionel Sambuc
471*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16q_s8
472f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev16q_s8(int8x16_t a)473f4a2713aSLionel Sambuc int8x16_t test_vrev16q_s8(int8x16_t a) {
474f4a2713aSLionel Sambuc return vrev16q_s8(a);
475f4a2713aSLionel Sambuc }
476f4a2713aSLionel Sambuc
477*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16q_u8
478f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev16q_u8(uint8x16_t a)479f4a2713aSLionel Sambuc uint8x16_t test_vrev16q_u8(uint8x16_t a) {
480f4a2713aSLionel Sambuc return vrev16q_u8(a);
481f4a2713aSLionel Sambuc }
482f4a2713aSLionel Sambuc
483*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev16q_p8
484f4a2713aSLionel Sambuc // CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev16q_p8(poly8x16_t a)485f4a2713aSLionel Sambuc poly8x16_t test_vrev16q_p8(poly8x16_t a) {
486f4a2713aSLionel Sambuc return vrev16q_p8(a);
487f4a2713aSLionel Sambuc }
488f4a2713aSLionel Sambuc
489*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_s8
490f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev32_s8(int8x8_t a)491f4a2713aSLionel Sambuc int8x8_t test_vrev32_s8(int8x8_t a) {
492f4a2713aSLionel Sambuc return vrev32_s8(a);
493f4a2713aSLionel Sambuc }
494f4a2713aSLionel Sambuc
495*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_s16
496f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev32_s16(int16x4_t a)497f4a2713aSLionel Sambuc int16x4_t test_vrev32_s16(int16x4_t a) {
498f4a2713aSLionel Sambuc return vrev32_s16(a);
499f4a2713aSLionel Sambuc }
500f4a2713aSLionel Sambuc
501*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_u8
502f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev32_u8(uint8x8_t a)503f4a2713aSLionel Sambuc uint8x8_t test_vrev32_u8(uint8x8_t a) {
504f4a2713aSLionel Sambuc return vrev32_u8(a);
505f4a2713aSLionel Sambuc }
506f4a2713aSLionel Sambuc
507*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_u16
508f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev32_u16(uint16x4_t a)509f4a2713aSLionel Sambuc uint16x4_t test_vrev32_u16(uint16x4_t a) {
510f4a2713aSLionel Sambuc return vrev32_u16(a);
511f4a2713aSLionel Sambuc }
512f4a2713aSLionel Sambuc
513*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_p8
514f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev32_p8(poly8x8_t a)515f4a2713aSLionel Sambuc poly8x8_t test_vrev32_p8(poly8x8_t a) {
516f4a2713aSLionel Sambuc return vrev32_p8(a);
517f4a2713aSLionel Sambuc }
518f4a2713aSLionel Sambuc
519*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32_p16
520f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev32_p16(poly16x4_t a)521f4a2713aSLionel Sambuc poly16x4_t test_vrev32_p16(poly16x4_t a) {
522f4a2713aSLionel Sambuc return vrev32_p16(a);
523f4a2713aSLionel Sambuc }
524f4a2713aSLionel Sambuc
525*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_s8
526f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev32q_s8(int8x16_t a)527f4a2713aSLionel Sambuc int8x16_t test_vrev32q_s8(int8x16_t a) {
528f4a2713aSLionel Sambuc return vrev32q_s8(a);
529f4a2713aSLionel Sambuc }
530f4a2713aSLionel Sambuc
531*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_s16
532f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev32q_s16(int16x8_t a)533f4a2713aSLionel Sambuc int16x8_t test_vrev32q_s16(int16x8_t a) {
534f4a2713aSLionel Sambuc return vrev32q_s16(a);
535f4a2713aSLionel Sambuc }
536f4a2713aSLionel Sambuc
537*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_u8
538f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev32q_u8(uint8x16_t a)539f4a2713aSLionel Sambuc uint8x16_t test_vrev32q_u8(uint8x16_t a) {
540f4a2713aSLionel Sambuc return vrev32q_u8(a);
541f4a2713aSLionel Sambuc }
542f4a2713aSLionel Sambuc
543*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_u16
544f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev32q_u16(uint16x8_t a)545f4a2713aSLionel Sambuc uint16x8_t test_vrev32q_u16(uint16x8_t a) {
546f4a2713aSLionel Sambuc return vrev32q_u16(a);
547f4a2713aSLionel Sambuc }
548f4a2713aSLionel Sambuc
549*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_p8
550f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev32q_p8(poly8x16_t a)551f4a2713aSLionel Sambuc poly8x16_t test_vrev32q_p8(poly8x16_t a) {
552f4a2713aSLionel Sambuc return vrev32q_p8(a);
553f4a2713aSLionel Sambuc }
554f4a2713aSLionel Sambuc
555*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev32q_p16
556f4a2713aSLionel Sambuc // CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev32q_p16(poly16x8_t a)557f4a2713aSLionel Sambuc poly16x8_t test_vrev32q_p16(poly16x8_t a) {
558f4a2713aSLionel Sambuc return vrev32q_p16(a);
559f4a2713aSLionel Sambuc }
560f4a2713aSLionel Sambuc
561*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_s8
562f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev64_s8(int8x8_t a)563f4a2713aSLionel Sambuc int8x8_t test_vrev64_s8(int8x8_t a) {
564f4a2713aSLionel Sambuc return vrev64_s8(a);
565f4a2713aSLionel Sambuc }
566f4a2713aSLionel Sambuc
567*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_s16
568f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev64_s16(int16x4_t a)569f4a2713aSLionel Sambuc int16x4_t test_vrev64_s16(int16x4_t a) {
570f4a2713aSLionel Sambuc return vrev64_s16(a);
571f4a2713aSLionel Sambuc }
572f4a2713aSLionel Sambuc
573*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_s32
574f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
test_vrev64_s32(int32x2_t a)575f4a2713aSLionel Sambuc int32x2_t test_vrev64_s32(int32x2_t a) {
576f4a2713aSLionel Sambuc return vrev64_s32(a);
577f4a2713aSLionel Sambuc }
578f4a2713aSLionel Sambuc
579*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_u8
580f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev64_u8(uint8x8_t a)581f4a2713aSLionel Sambuc uint8x8_t test_vrev64_u8(uint8x8_t a) {
582f4a2713aSLionel Sambuc return vrev64_u8(a);
583f4a2713aSLionel Sambuc }
584f4a2713aSLionel Sambuc
585*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_u16
586f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev64_u16(uint16x4_t a)587f4a2713aSLionel Sambuc uint16x4_t test_vrev64_u16(uint16x4_t a) {
588f4a2713aSLionel Sambuc return vrev64_u16(a);
589f4a2713aSLionel Sambuc }
590f4a2713aSLionel Sambuc
591*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_u32
592f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
test_vrev64_u32(uint32x2_t a)593f4a2713aSLionel Sambuc uint32x2_t test_vrev64_u32(uint32x2_t a) {
594f4a2713aSLionel Sambuc return vrev64_u32(a);
595f4a2713aSLionel Sambuc }
596f4a2713aSLionel Sambuc
597*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_p8
598f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
test_vrev64_p8(poly8x8_t a)599f4a2713aSLionel Sambuc poly8x8_t test_vrev64_p8(poly8x8_t a) {
600f4a2713aSLionel Sambuc return vrev64_p8(a);
601f4a2713aSLionel Sambuc }
602f4a2713aSLionel Sambuc
603*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_p16
604f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
test_vrev64_p16(poly16x4_t a)605f4a2713aSLionel Sambuc poly16x4_t test_vrev64_p16(poly16x4_t a) {
606f4a2713aSLionel Sambuc return vrev64_p16(a);
607f4a2713aSLionel Sambuc }
608f4a2713aSLionel Sambuc
609*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64_f32
610f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
test_vrev64_f32(float32x2_t a)611f4a2713aSLionel Sambuc float32x2_t test_vrev64_f32(float32x2_t a) {
612f4a2713aSLionel Sambuc return vrev64_f32(a);
613f4a2713aSLionel Sambuc }
614f4a2713aSLionel Sambuc
615*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_s8
616f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev64q_s8(int8x16_t a)617f4a2713aSLionel Sambuc int8x16_t test_vrev64q_s8(int8x16_t a) {
618f4a2713aSLionel Sambuc return vrev64q_s8(a);
619f4a2713aSLionel Sambuc }
620f4a2713aSLionel Sambuc
621*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_s16
622f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev64q_s16(int16x8_t a)623f4a2713aSLionel Sambuc int16x8_t test_vrev64q_s16(int16x8_t a) {
624f4a2713aSLionel Sambuc return vrev64q_s16(a);
625f4a2713aSLionel Sambuc }
626f4a2713aSLionel Sambuc
627*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_s32
628f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
test_vrev64q_s32(int32x4_t a)629f4a2713aSLionel Sambuc int32x4_t test_vrev64q_s32(int32x4_t a) {
630f4a2713aSLionel Sambuc return vrev64q_s32(a);
631f4a2713aSLionel Sambuc }
632f4a2713aSLionel Sambuc
633*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_u8
634f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev64q_u8(uint8x16_t a)635f4a2713aSLionel Sambuc uint8x16_t test_vrev64q_u8(uint8x16_t a) {
636f4a2713aSLionel Sambuc return vrev64q_u8(a);
637f4a2713aSLionel Sambuc }
638f4a2713aSLionel Sambuc
639*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_u16
640f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev64q_u16(uint16x8_t a)641f4a2713aSLionel Sambuc uint16x8_t test_vrev64q_u16(uint16x8_t a) {
642f4a2713aSLionel Sambuc return vrev64q_u16(a);
643f4a2713aSLionel Sambuc }
644f4a2713aSLionel Sambuc
645*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_u32
646f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
test_vrev64q_u32(uint32x4_t a)647f4a2713aSLionel Sambuc uint32x4_t test_vrev64q_u32(uint32x4_t a) {
648f4a2713aSLionel Sambuc return vrev64q_u32(a);
649f4a2713aSLionel Sambuc }
650f4a2713aSLionel Sambuc
651*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_p8
652f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
test_vrev64q_p8(poly8x16_t a)653f4a2713aSLionel Sambuc poly8x16_t test_vrev64q_p8(poly8x16_t a) {
654f4a2713aSLionel Sambuc return vrev64q_p8(a);
655f4a2713aSLionel Sambuc }
656f4a2713aSLionel Sambuc
657*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_p16
658f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
test_vrev64q_p16(poly16x8_t a)659f4a2713aSLionel Sambuc poly16x8_t test_vrev64q_p16(poly16x8_t a) {
660f4a2713aSLionel Sambuc return vrev64q_p16(a);
661f4a2713aSLionel Sambuc }
662f4a2713aSLionel Sambuc
663*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrev64q_f32
664f4a2713aSLionel Sambuc // CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
test_vrev64q_f32(float32x4_t a)665f4a2713aSLionel Sambuc float32x4_t test_vrev64q_f32(float32x4_t a) {
666f4a2713aSLionel Sambuc return vrev64q_f32(a);
667f4a2713aSLionel Sambuc }
668f4a2713aSLionel Sambuc
test_vpaddl_s8(int8x8_t a)669f4a2713aSLionel Sambuc int16x4_t test_vpaddl_s8(int8x8_t a) {
670*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_s8
671f4a2713aSLionel Sambuc return vpaddl_s8(a);
672f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
673f4a2713aSLionel Sambuc }
674f4a2713aSLionel Sambuc
test_vpaddl_s16(int16x4_t a)675f4a2713aSLionel Sambuc int32x2_t test_vpaddl_s16(int16x4_t a) {
676*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_s16
677f4a2713aSLionel Sambuc return vpaddl_s16(a);
678f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
679f4a2713aSLionel Sambuc }
680f4a2713aSLionel Sambuc
test_vpaddl_s32(int32x2_t a)681f4a2713aSLionel Sambuc int64x1_t test_vpaddl_s32(int32x2_t a) {
682*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_s32
683f4a2713aSLionel Sambuc return vpaddl_s32(a);
684f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
685f4a2713aSLionel Sambuc }
686f4a2713aSLionel Sambuc
test_vpaddl_u8(uint8x8_t a)687f4a2713aSLionel Sambuc uint16x4_t test_vpaddl_u8(uint8x8_t a) {
688*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_u8
689f4a2713aSLionel Sambuc return vpaddl_u8(a);
690f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
691f4a2713aSLionel Sambuc }
692f4a2713aSLionel Sambuc
test_vpaddl_u16(uint16x4_t a)693f4a2713aSLionel Sambuc uint32x2_t test_vpaddl_u16(uint16x4_t a) {
694*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_u16
695f4a2713aSLionel Sambuc return vpaddl_u16(a);
696f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
697f4a2713aSLionel Sambuc }
698f4a2713aSLionel Sambuc
test_vpaddl_u32(uint32x2_t a)699f4a2713aSLionel Sambuc uint64x1_t test_vpaddl_u32(uint32x2_t a) {
700*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddl_u32
701f4a2713aSLionel Sambuc return vpaddl_u32(a);
702f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
703f4a2713aSLionel Sambuc }
704f4a2713aSLionel Sambuc
test_vpaddlq_s8(int8x16_t a)705f4a2713aSLionel Sambuc int16x8_t test_vpaddlq_s8(int8x16_t a) {
706*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_s8
707f4a2713aSLionel Sambuc return vpaddlq_s8(a);
708f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
709f4a2713aSLionel Sambuc }
710f4a2713aSLionel Sambuc
test_vpaddlq_s16(int16x8_t a)711f4a2713aSLionel Sambuc int32x4_t test_vpaddlq_s16(int16x8_t a) {
712*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_s16
713f4a2713aSLionel Sambuc return vpaddlq_s16(a);
714f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
715f4a2713aSLionel Sambuc }
716f4a2713aSLionel Sambuc
test_vpaddlq_s32(int32x4_t a)717f4a2713aSLionel Sambuc int64x2_t test_vpaddlq_s32(int32x4_t a) {
718*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_s32
719f4a2713aSLionel Sambuc return vpaddlq_s32(a);
720f4a2713aSLionel Sambuc // CHECK: saddlp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
721f4a2713aSLionel Sambuc }
722f4a2713aSLionel Sambuc
test_vpaddlq_u8(uint8x16_t a)723f4a2713aSLionel Sambuc uint16x8_t test_vpaddlq_u8(uint8x16_t a) {
724*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_u8
725f4a2713aSLionel Sambuc return vpaddlq_u8(a);
726f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
727f4a2713aSLionel Sambuc }
728f4a2713aSLionel Sambuc
test_vpaddlq_u16(uint16x8_t a)729f4a2713aSLionel Sambuc uint32x4_t test_vpaddlq_u16(uint16x8_t a) {
730*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_u16
731f4a2713aSLionel Sambuc return vpaddlq_u16(a);
732f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
733f4a2713aSLionel Sambuc }
734f4a2713aSLionel Sambuc
test_vpaddlq_u32(uint32x4_t a)735f4a2713aSLionel Sambuc uint64x2_t test_vpaddlq_u32(uint32x4_t a) {
736*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpaddlq_u32
737f4a2713aSLionel Sambuc return vpaddlq_u32(a);
738f4a2713aSLionel Sambuc // CHECK: uaddlp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
739f4a2713aSLionel Sambuc }
740f4a2713aSLionel Sambuc
test_vpadal_s8(int16x4_t a,int8x8_t b)741f4a2713aSLionel Sambuc int16x4_t test_vpadal_s8(int16x4_t a, int8x8_t b) {
742*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_s8
743f4a2713aSLionel Sambuc return vpadal_s8(a, b);
744f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
745f4a2713aSLionel Sambuc }
746f4a2713aSLionel Sambuc
test_vpadal_s16(int32x2_t a,int16x4_t b)747f4a2713aSLionel Sambuc int32x2_t test_vpadal_s16(int32x2_t a, int16x4_t b) {
748*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_s16
749f4a2713aSLionel Sambuc return vpadal_s16(a, b);
750f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
751f4a2713aSLionel Sambuc }
752f4a2713aSLionel Sambuc
test_vpadal_s32(int64x1_t a,int32x2_t b)753f4a2713aSLionel Sambuc int64x1_t test_vpadal_s32(int64x1_t a, int32x2_t b) {
754*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_s32
755f4a2713aSLionel Sambuc return vpadal_s32(a, b);
756f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
757f4a2713aSLionel Sambuc }
758f4a2713aSLionel Sambuc
test_vpadal_u8(uint16x4_t a,uint8x8_t b)759f4a2713aSLionel Sambuc uint16x4_t test_vpadal_u8(uint16x4_t a, uint8x8_t b) {
760*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_u8
761f4a2713aSLionel Sambuc return vpadal_u8(a, b);
762f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
763f4a2713aSLionel Sambuc }
764f4a2713aSLionel Sambuc
test_vpadal_u16(uint32x2_t a,uint16x4_t b)765f4a2713aSLionel Sambuc uint32x2_t test_vpadal_u16(uint32x2_t a, uint16x4_t b) {
766*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_u16
767f4a2713aSLionel Sambuc return vpadal_u16(a, b);
768f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
769f4a2713aSLionel Sambuc }
770f4a2713aSLionel Sambuc
test_vpadal_u32(uint64x1_t a,uint32x2_t b)771f4a2713aSLionel Sambuc uint64x1_t test_vpadal_u32(uint64x1_t a, uint32x2_t b) {
772*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadal_u32
773f4a2713aSLionel Sambuc return vpadal_u32(a, b);
774f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
775f4a2713aSLionel Sambuc }
776f4a2713aSLionel Sambuc
test_vpadalq_s8(int16x8_t a,int8x16_t b)777f4a2713aSLionel Sambuc int16x8_t test_vpadalq_s8(int16x8_t a, int8x16_t b) {
778*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_s8
779f4a2713aSLionel Sambuc return vpadalq_s8(a, b);
780f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
781f4a2713aSLionel Sambuc }
782f4a2713aSLionel Sambuc
test_vpadalq_s16(int32x4_t a,int16x8_t b)783f4a2713aSLionel Sambuc int32x4_t test_vpadalq_s16(int32x4_t a, int16x8_t b) {
784*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_s16
785f4a2713aSLionel Sambuc return vpadalq_s16(a, b);
786f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
787f4a2713aSLionel Sambuc }
788f4a2713aSLionel Sambuc
test_vpadalq_s32(int64x2_t a,int32x4_t b)789f4a2713aSLionel Sambuc int64x2_t test_vpadalq_s32(int64x2_t a, int32x4_t b) {
790*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_s32
791f4a2713aSLionel Sambuc return vpadalq_s32(a, b);
792f4a2713aSLionel Sambuc // CHECK: sadalp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
793f4a2713aSLionel Sambuc }
794f4a2713aSLionel Sambuc
test_vpadalq_u8(uint16x8_t a,uint8x16_t b)795f4a2713aSLionel Sambuc uint16x8_t test_vpadalq_u8(uint16x8_t a, uint8x16_t b) {
796*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_u8
797f4a2713aSLionel Sambuc return vpadalq_u8(a, b);
798f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
799f4a2713aSLionel Sambuc }
800f4a2713aSLionel Sambuc
test_vpadalq_u16(uint32x4_t a,uint16x8_t b)801f4a2713aSLionel Sambuc uint32x4_t test_vpadalq_u16(uint32x4_t a, uint16x8_t b) {
802*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_u16
803f4a2713aSLionel Sambuc return vpadalq_u16(a, b);
804f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
805f4a2713aSLionel Sambuc }
806f4a2713aSLionel Sambuc
test_vpadalq_u32(uint64x2_t a,uint32x4_t b)807f4a2713aSLionel Sambuc uint64x2_t test_vpadalq_u32(uint64x2_t a, uint32x4_t b) {
808*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vpadalq_u32
809f4a2713aSLionel Sambuc return vpadalq_u32(a, b);
810f4a2713aSLionel Sambuc // CHECK: uadalp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
811f4a2713aSLionel Sambuc }
812f4a2713aSLionel Sambuc
test_vqabs_s8(int8x8_t a)813f4a2713aSLionel Sambuc int8x8_t test_vqabs_s8(int8x8_t a) {
814*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabs_s8
815f4a2713aSLionel Sambuc return vqabs_s8(a);
816f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
817f4a2713aSLionel Sambuc }
818f4a2713aSLionel Sambuc
test_vqabsq_s8(int8x16_t a)819f4a2713aSLionel Sambuc int8x16_t test_vqabsq_s8(int8x16_t a) {
820*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabsq_s8
821f4a2713aSLionel Sambuc return vqabsq_s8(a);
822f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
823f4a2713aSLionel Sambuc }
824f4a2713aSLionel Sambuc
test_vqabs_s16(int16x4_t a)825f4a2713aSLionel Sambuc int16x4_t test_vqabs_s16(int16x4_t a) {
826*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabs_s16
827f4a2713aSLionel Sambuc return vqabs_s16(a);
828f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
829f4a2713aSLionel Sambuc }
830f4a2713aSLionel Sambuc
test_vqabsq_s16(int16x8_t a)831f4a2713aSLionel Sambuc int16x8_t test_vqabsq_s16(int16x8_t a) {
832*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabsq_s16
833f4a2713aSLionel Sambuc return vqabsq_s16(a);
834f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
835f4a2713aSLionel Sambuc }
836f4a2713aSLionel Sambuc
test_vqabs_s32(int32x2_t a)837f4a2713aSLionel Sambuc int32x2_t test_vqabs_s32(int32x2_t a) {
838*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabs_s32
839f4a2713aSLionel Sambuc return vqabs_s32(a);
840f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
841f4a2713aSLionel Sambuc }
842f4a2713aSLionel Sambuc
test_vqabsq_s32(int32x4_t a)843f4a2713aSLionel Sambuc int32x4_t test_vqabsq_s32(int32x4_t a) {
844*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabsq_s32
845f4a2713aSLionel Sambuc return vqabsq_s32(a);
846f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
847f4a2713aSLionel Sambuc }
848f4a2713aSLionel Sambuc
test_vqabsq_s64(int64x2_t a)849f4a2713aSLionel Sambuc int64x2_t test_vqabsq_s64(int64x2_t a) {
850*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqabsq_s64
851f4a2713aSLionel Sambuc return vqabsq_s64(a);
852f4a2713aSLionel Sambuc // CHECK: sqabs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
853f4a2713aSLionel Sambuc }
854f4a2713aSLionel Sambuc
test_vqneg_s8(int8x8_t a)855f4a2713aSLionel Sambuc int8x8_t test_vqneg_s8(int8x8_t a) {
856*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqneg_s8
857f4a2713aSLionel Sambuc return vqneg_s8(a);
858f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
859f4a2713aSLionel Sambuc }
860f4a2713aSLionel Sambuc
test_vqnegq_s8(int8x16_t a)861f4a2713aSLionel Sambuc int8x16_t test_vqnegq_s8(int8x16_t a) {
862*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqnegq_s8
863f4a2713aSLionel Sambuc return vqnegq_s8(a);
864f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
865f4a2713aSLionel Sambuc }
866f4a2713aSLionel Sambuc
test_vqneg_s16(int16x4_t a)867f4a2713aSLionel Sambuc int16x4_t test_vqneg_s16(int16x4_t a) {
868*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqneg_s16
869f4a2713aSLionel Sambuc return vqneg_s16(a);
870f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
871f4a2713aSLionel Sambuc }
872f4a2713aSLionel Sambuc
test_vqnegq_s16(int16x8_t a)873f4a2713aSLionel Sambuc int16x8_t test_vqnegq_s16(int16x8_t a) {
874*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqnegq_s16
875f4a2713aSLionel Sambuc return vqnegq_s16(a);
876f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
877f4a2713aSLionel Sambuc }
878f4a2713aSLionel Sambuc
test_vqneg_s32(int32x2_t a)879f4a2713aSLionel Sambuc int32x2_t test_vqneg_s32(int32x2_t a) {
880*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqneg_s32
881f4a2713aSLionel Sambuc return vqneg_s32(a);
882f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
883f4a2713aSLionel Sambuc }
884f4a2713aSLionel Sambuc
test_vqnegq_s32(int32x4_t a)885f4a2713aSLionel Sambuc int32x4_t test_vqnegq_s32(int32x4_t a) {
886*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqnegq_s32
887f4a2713aSLionel Sambuc return vqnegq_s32(a);
888f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
889f4a2713aSLionel Sambuc }
890f4a2713aSLionel Sambuc
test_vqnegq_s64(int64x2_t a)891f4a2713aSLionel Sambuc int64x2_t test_vqnegq_s64(int64x2_t a) {
892*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqnegq_s64
893f4a2713aSLionel Sambuc return vqnegq_s64(a);
894f4a2713aSLionel Sambuc // CHECK: sqneg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
895f4a2713aSLionel Sambuc }
896f4a2713aSLionel Sambuc
test_vneg_s8(int8x8_t a)897f4a2713aSLionel Sambuc int8x8_t test_vneg_s8(int8x8_t a) {
898*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vneg_s8
899f4a2713aSLionel Sambuc return vneg_s8(a);
900f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
901f4a2713aSLionel Sambuc }
902f4a2713aSLionel Sambuc
test_vnegq_s8(int8x16_t a)903f4a2713aSLionel Sambuc int8x16_t test_vnegq_s8(int8x16_t a) {
904*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_s8
905f4a2713aSLionel Sambuc return vnegq_s8(a);
906f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
907f4a2713aSLionel Sambuc }
908f4a2713aSLionel Sambuc
test_vneg_s16(int16x4_t a)909f4a2713aSLionel Sambuc int16x4_t test_vneg_s16(int16x4_t a) {
910*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vneg_s16
911f4a2713aSLionel Sambuc return vneg_s16(a);
912f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
913f4a2713aSLionel Sambuc }
914f4a2713aSLionel Sambuc
test_vnegq_s16(int16x8_t a)915f4a2713aSLionel Sambuc int16x8_t test_vnegq_s16(int16x8_t a) {
916*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_s16
917f4a2713aSLionel Sambuc return vnegq_s16(a);
918f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
919f4a2713aSLionel Sambuc }
920f4a2713aSLionel Sambuc
test_vneg_s32(int32x2_t a)921f4a2713aSLionel Sambuc int32x2_t test_vneg_s32(int32x2_t a) {
922*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vneg_s32
923f4a2713aSLionel Sambuc return vneg_s32(a);
924f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
925f4a2713aSLionel Sambuc }
926f4a2713aSLionel Sambuc
test_vnegq_s32(int32x4_t a)927f4a2713aSLionel Sambuc int32x4_t test_vnegq_s32(int32x4_t a) {
928*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_s32
929f4a2713aSLionel Sambuc return vnegq_s32(a);
930f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
931f4a2713aSLionel Sambuc }
932f4a2713aSLionel Sambuc
test_vnegq_s64(int64x2_t a)933f4a2713aSLionel Sambuc int64x2_t test_vnegq_s64(int64x2_t a) {
934*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_s64
935f4a2713aSLionel Sambuc return vnegq_s64(a);
936f4a2713aSLionel Sambuc // CHECK: neg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
937f4a2713aSLionel Sambuc }
938f4a2713aSLionel Sambuc
test_vneg_f32(float32x2_t a)939f4a2713aSLionel Sambuc float32x2_t test_vneg_f32(float32x2_t a) {
940*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vneg_f32
941f4a2713aSLionel Sambuc return vneg_f32(a);
942f4a2713aSLionel Sambuc // CHECK: fneg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
943f4a2713aSLionel Sambuc }
944f4a2713aSLionel Sambuc
test_vnegq_f32(float32x4_t a)945f4a2713aSLionel Sambuc float32x4_t test_vnegq_f32(float32x4_t a) {
946*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_f32
947f4a2713aSLionel Sambuc return vnegq_f32(a);
948f4a2713aSLionel Sambuc // CHECK: fneg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
949f4a2713aSLionel Sambuc }
950f4a2713aSLionel Sambuc
test_vnegq_f64(float64x2_t a)951f4a2713aSLionel Sambuc float64x2_t test_vnegq_f64(float64x2_t a) {
952*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vnegq_f64
953f4a2713aSLionel Sambuc return vnegq_f64(a);
954f4a2713aSLionel Sambuc // CHECK: fneg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
955f4a2713aSLionel Sambuc }
956f4a2713aSLionel Sambuc
test_vabs_s8(int8x8_t a)957f4a2713aSLionel Sambuc int8x8_t test_vabs_s8(int8x8_t a) {
958*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabs_s8
959f4a2713aSLionel Sambuc return vabs_s8(a);
960f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
961f4a2713aSLionel Sambuc }
962f4a2713aSLionel Sambuc
test_vabsq_s8(int8x16_t a)963f4a2713aSLionel Sambuc int8x16_t test_vabsq_s8(int8x16_t a) {
964*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_s8
965f4a2713aSLionel Sambuc return vabsq_s8(a);
966f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
967f4a2713aSLionel Sambuc }
968f4a2713aSLionel Sambuc
test_vabs_s16(int16x4_t a)969f4a2713aSLionel Sambuc int16x4_t test_vabs_s16(int16x4_t a) {
970*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabs_s16
971f4a2713aSLionel Sambuc return vabs_s16(a);
972f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
973f4a2713aSLionel Sambuc }
974f4a2713aSLionel Sambuc
test_vabsq_s16(int16x8_t a)975f4a2713aSLionel Sambuc int16x8_t test_vabsq_s16(int16x8_t a) {
976*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_s16
977f4a2713aSLionel Sambuc return vabsq_s16(a);
978f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
979f4a2713aSLionel Sambuc }
980f4a2713aSLionel Sambuc
test_vabs_s32(int32x2_t a)981f4a2713aSLionel Sambuc int32x2_t test_vabs_s32(int32x2_t a) {
982*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabs_s32
983f4a2713aSLionel Sambuc return vabs_s32(a);
984f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
985f4a2713aSLionel Sambuc }
986f4a2713aSLionel Sambuc
test_vabsq_s32(int32x4_t a)987f4a2713aSLionel Sambuc int32x4_t test_vabsq_s32(int32x4_t a) {
988*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_s32
989f4a2713aSLionel Sambuc return vabsq_s32(a);
990f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
991f4a2713aSLionel Sambuc }
992f4a2713aSLionel Sambuc
test_vabsq_s64(int64x2_t a)993f4a2713aSLionel Sambuc int64x2_t test_vabsq_s64(int64x2_t a) {
994*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_s64
995f4a2713aSLionel Sambuc return vabsq_s64(a);
996f4a2713aSLionel Sambuc // CHECK: abs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
997f4a2713aSLionel Sambuc }
998f4a2713aSLionel Sambuc
test_vabs_f32(float32x2_t a)999f4a2713aSLionel Sambuc float32x2_t test_vabs_f32(float32x2_t a) {
1000*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabs_f32
1001f4a2713aSLionel Sambuc return vabs_f32(a);
1002f4a2713aSLionel Sambuc // CHECK: fabs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1003f4a2713aSLionel Sambuc }
1004f4a2713aSLionel Sambuc
test_vabsq_f32(float32x4_t a)1005f4a2713aSLionel Sambuc float32x4_t test_vabsq_f32(float32x4_t a) {
1006*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_f32
1007f4a2713aSLionel Sambuc return vabsq_f32(a);
1008f4a2713aSLionel Sambuc // CHECK: fabs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1009f4a2713aSLionel Sambuc }
1010f4a2713aSLionel Sambuc
test_vabsq_f64(float64x2_t a)1011f4a2713aSLionel Sambuc float64x2_t test_vabsq_f64(float64x2_t a) {
1012*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vabsq_f64
1013f4a2713aSLionel Sambuc return vabsq_f64(a);
1014f4a2713aSLionel Sambuc // CHECK: fabs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1015f4a2713aSLionel Sambuc }
1016f4a2713aSLionel Sambuc
test_vuqadd_s8(int8x8_t a,int8x8_t b)1017f4a2713aSLionel Sambuc int8x8_t test_vuqadd_s8(int8x8_t a, int8x8_t b) {
1018*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqadd_s8
1019f4a2713aSLionel Sambuc return vuqadd_s8(a, b);
1020f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1021f4a2713aSLionel Sambuc }
1022f4a2713aSLionel Sambuc
test_vuqaddq_s8(int8x16_t a,int8x16_t b)1023f4a2713aSLionel Sambuc int8x16_t test_vuqaddq_s8(int8x16_t a, int8x16_t b) {
1024*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqaddq_s8
1025f4a2713aSLionel Sambuc return vuqaddq_s8(a, b);
1026f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1027f4a2713aSLionel Sambuc }
1028f4a2713aSLionel Sambuc
test_vuqadd_s16(int16x4_t a,int16x4_t b)1029f4a2713aSLionel Sambuc int16x4_t test_vuqadd_s16(int16x4_t a, int16x4_t b) {
1030*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqadd_s16
1031f4a2713aSLionel Sambuc return vuqadd_s16(a, b);
1032f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
1033f4a2713aSLionel Sambuc }
1034f4a2713aSLionel Sambuc
test_vuqaddq_s16(int16x8_t a,int16x8_t b)1035f4a2713aSLionel Sambuc int16x8_t test_vuqaddq_s16(int16x8_t a, int16x8_t b) {
1036*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqaddq_s16
1037f4a2713aSLionel Sambuc return vuqaddq_s16(a, b);
1038f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
1039f4a2713aSLionel Sambuc }
1040f4a2713aSLionel Sambuc
test_vuqadd_s32(int32x2_t a,int32x2_t b)1041f4a2713aSLionel Sambuc int32x2_t test_vuqadd_s32(int32x2_t a, int32x2_t b) {
1042*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqadd_s32
1043f4a2713aSLionel Sambuc return vuqadd_s32(a, b);
1044f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1045f4a2713aSLionel Sambuc }
1046f4a2713aSLionel Sambuc
test_vuqaddq_s32(int32x4_t a,int32x4_t b)1047f4a2713aSLionel Sambuc int32x4_t test_vuqaddq_s32(int32x4_t a, int32x4_t b) {
1048*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqaddq_s32
1049f4a2713aSLionel Sambuc return vuqaddq_s32(a, b);
1050f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1051f4a2713aSLionel Sambuc }
1052f4a2713aSLionel Sambuc
test_vuqaddq_s64(int64x2_t a,int64x2_t b)1053f4a2713aSLionel Sambuc int64x2_t test_vuqaddq_s64(int64x2_t a, int64x2_t b) {
1054*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vuqaddq_s64
1055f4a2713aSLionel Sambuc return vuqaddq_s64(a, b);
1056f4a2713aSLionel Sambuc // CHECK: suqadd v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1057f4a2713aSLionel Sambuc }
1058f4a2713aSLionel Sambuc
test_vcls_s8(int8x8_t a)1059f4a2713aSLionel Sambuc int8x8_t test_vcls_s8(int8x8_t a) {
1060*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcls_s8
1061f4a2713aSLionel Sambuc return vcls_s8(a);
1062f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1063f4a2713aSLionel Sambuc }
1064f4a2713aSLionel Sambuc
test_vclsq_s8(int8x16_t a)1065f4a2713aSLionel Sambuc int8x16_t test_vclsq_s8(int8x16_t a) {
1066*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclsq_s8
1067f4a2713aSLionel Sambuc return vclsq_s8(a);
1068f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1069f4a2713aSLionel Sambuc }
1070f4a2713aSLionel Sambuc
test_vcls_s16(int16x4_t a)1071f4a2713aSLionel Sambuc int16x4_t test_vcls_s16(int16x4_t a) {
1072*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcls_s16
1073f4a2713aSLionel Sambuc return vcls_s16(a);
1074f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
1075f4a2713aSLionel Sambuc }
1076f4a2713aSLionel Sambuc
test_vclsq_s16(int16x8_t a)1077f4a2713aSLionel Sambuc int16x8_t test_vclsq_s16(int16x8_t a) {
1078*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclsq_s16
1079f4a2713aSLionel Sambuc return vclsq_s16(a);
1080f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
1081f4a2713aSLionel Sambuc }
1082f4a2713aSLionel Sambuc
test_vcls_s32(int32x2_t a)1083f4a2713aSLionel Sambuc int32x2_t test_vcls_s32(int32x2_t a) {
1084*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcls_s32
1085f4a2713aSLionel Sambuc return vcls_s32(a);
1086f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1087f4a2713aSLionel Sambuc }
1088f4a2713aSLionel Sambuc
test_vclsq_s32(int32x4_t a)1089f4a2713aSLionel Sambuc int32x4_t test_vclsq_s32(int32x4_t a) {
1090*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclsq_s32
1091f4a2713aSLionel Sambuc return vclsq_s32(a);
1092f4a2713aSLionel Sambuc // CHECK: cls v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1093f4a2713aSLionel Sambuc }
1094f4a2713aSLionel Sambuc
test_vclz_s8(int8x8_t a)1095f4a2713aSLionel Sambuc int8x8_t test_vclz_s8(int8x8_t a) {
1096*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_s8
1097f4a2713aSLionel Sambuc return vclz_s8(a);
1098f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1099f4a2713aSLionel Sambuc }
1100f4a2713aSLionel Sambuc
test_vclzq_s8(int8x16_t a)1101f4a2713aSLionel Sambuc int8x16_t test_vclzq_s8(int8x16_t a) {
1102*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_s8
1103f4a2713aSLionel Sambuc return vclzq_s8(a);
1104f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1105f4a2713aSLionel Sambuc }
1106f4a2713aSLionel Sambuc
test_vclz_s16(int16x4_t a)1107f4a2713aSLionel Sambuc int16x4_t test_vclz_s16(int16x4_t a) {
1108*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_s16
1109f4a2713aSLionel Sambuc return vclz_s16(a);
1110f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
1111f4a2713aSLionel Sambuc }
1112f4a2713aSLionel Sambuc
test_vclzq_s16(int16x8_t a)1113f4a2713aSLionel Sambuc int16x8_t test_vclzq_s16(int16x8_t a) {
1114*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_s16
1115f4a2713aSLionel Sambuc return vclzq_s16(a);
1116f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
1117f4a2713aSLionel Sambuc }
1118f4a2713aSLionel Sambuc
test_vclz_s32(int32x2_t a)1119f4a2713aSLionel Sambuc int32x2_t test_vclz_s32(int32x2_t a) {
1120*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_s32
1121f4a2713aSLionel Sambuc return vclz_s32(a);
1122f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1123f4a2713aSLionel Sambuc }
1124f4a2713aSLionel Sambuc
test_vclzq_s32(int32x4_t a)1125f4a2713aSLionel Sambuc int32x4_t test_vclzq_s32(int32x4_t a) {
1126*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_s32
1127f4a2713aSLionel Sambuc return vclzq_s32(a);
1128f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1129f4a2713aSLionel Sambuc }
1130f4a2713aSLionel Sambuc
test_vclz_u8(uint8x8_t a)1131f4a2713aSLionel Sambuc uint8x8_t test_vclz_u8(uint8x8_t a) {
1132*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_u8
1133f4a2713aSLionel Sambuc return vclz_u8(a);
1134f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1135f4a2713aSLionel Sambuc }
1136f4a2713aSLionel Sambuc
test_vclzq_u8(uint8x16_t a)1137f4a2713aSLionel Sambuc uint8x16_t test_vclzq_u8(uint8x16_t a) {
1138*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_u8
1139f4a2713aSLionel Sambuc return vclzq_u8(a);
1140f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1141f4a2713aSLionel Sambuc }
1142f4a2713aSLionel Sambuc
test_vclz_u16(uint16x4_t a)1143f4a2713aSLionel Sambuc uint16x4_t test_vclz_u16(uint16x4_t a) {
1144*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_u16
1145f4a2713aSLionel Sambuc return vclz_u16(a);
1146f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
1147f4a2713aSLionel Sambuc }
1148f4a2713aSLionel Sambuc
test_vclzq_u16(uint16x8_t a)1149f4a2713aSLionel Sambuc uint16x8_t test_vclzq_u16(uint16x8_t a) {
1150*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_u16
1151f4a2713aSLionel Sambuc return vclzq_u16(a);
1152f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
1153f4a2713aSLionel Sambuc }
1154f4a2713aSLionel Sambuc
test_vclz_u32(uint32x2_t a)1155f4a2713aSLionel Sambuc uint32x2_t test_vclz_u32(uint32x2_t a) {
1156*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclz_u32
1157f4a2713aSLionel Sambuc return vclz_u32(a);
1158f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1159f4a2713aSLionel Sambuc }
1160f4a2713aSLionel Sambuc
test_vclzq_u32(uint32x4_t a)1161f4a2713aSLionel Sambuc uint32x4_t test_vclzq_u32(uint32x4_t a) {
1162*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vclzq_u32
1163f4a2713aSLionel Sambuc return vclzq_u32(a);
1164f4a2713aSLionel Sambuc // CHECK: clz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1165f4a2713aSLionel Sambuc }
1166f4a2713aSLionel Sambuc
test_vcnt_s8(int8x8_t a)1167f4a2713aSLionel Sambuc int8x8_t test_vcnt_s8(int8x8_t a) {
1168*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcnt_s8
1169f4a2713aSLionel Sambuc return vcnt_s8(a);
1170f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1171f4a2713aSLionel Sambuc }
1172f4a2713aSLionel Sambuc
test_vcntq_s8(int8x16_t a)1173f4a2713aSLionel Sambuc int8x16_t test_vcntq_s8(int8x16_t a) {
1174*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcntq_s8
1175f4a2713aSLionel Sambuc return vcntq_s8(a);
1176f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1177f4a2713aSLionel Sambuc }
1178f4a2713aSLionel Sambuc
test_vcnt_u8(uint8x8_t a)1179f4a2713aSLionel Sambuc uint8x8_t test_vcnt_u8(uint8x8_t a) {
1180*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcnt_u8
1181f4a2713aSLionel Sambuc return vcnt_u8(a);
1182f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1183f4a2713aSLionel Sambuc }
1184f4a2713aSLionel Sambuc
test_vcntq_u8(uint8x16_t a)1185f4a2713aSLionel Sambuc uint8x16_t test_vcntq_u8(uint8x16_t a) {
1186*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcntq_u8
1187f4a2713aSLionel Sambuc return vcntq_u8(a);
1188f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1189f4a2713aSLionel Sambuc }
1190f4a2713aSLionel Sambuc
test_vcnt_p8(poly8x8_t a)1191f4a2713aSLionel Sambuc poly8x8_t test_vcnt_p8(poly8x8_t a) {
1192*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcnt_p8
1193f4a2713aSLionel Sambuc return vcnt_p8(a);
1194f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1195f4a2713aSLionel Sambuc }
1196f4a2713aSLionel Sambuc
test_vcntq_p8(poly8x16_t a)1197f4a2713aSLionel Sambuc poly8x16_t test_vcntq_p8(poly8x16_t a) {
1198*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vcntq_p8
1199f4a2713aSLionel Sambuc return vcntq_p8(a);
1200f4a2713aSLionel Sambuc // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1201f4a2713aSLionel Sambuc }
1202f4a2713aSLionel Sambuc
test_vmvn_s8(int8x8_t a)1203f4a2713aSLionel Sambuc int8x8_t test_vmvn_s8(int8x8_t a) {
1204*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_s8
1205f4a2713aSLionel Sambuc return vmvn_s8(a);
1206*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1207f4a2713aSLionel Sambuc }
1208f4a2713aSLionel Sambuc
test_vmvnq_s8(int8x16_t a)1209f4a2713aSLionel Sambuc int8x16_t test_vmvnq_s8(int8x16_t a) {
1210*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_s8
1211f4a2713aSLionel Sambuc return vmvnq_s8(a);
1212*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1213f4a2713aSLionel Sambuc }
1214f4a2713aSLionel Sambuc
test_vmvn_s16(int16x4_t a)1215f4a2713aSLionel Sambuc int16x4_t test_vmvn_s16(int16x4_t a) {
1216*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_s16
1217f4a2713aSLionel Sambuc return vmvn_s16(a);
1218*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1219f4a2713aSLionel Sambuc }
1220f4a2713aSLionel Sambuc
test_vmvnq_s16(int16x8_t a)1221f4a2713aSLionel Sambuc int16x8_t test_vmvnq_s16(int16x8_t a) {
1222*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_s16
1223f4a2713aSLionel Sambuc return vmvnq_s16(a);
1224*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1225f4a2713aSLionel Sambuc }
1226f4a2713aSLionel Sambuc
test_vmvn_s32(int32x2_t a)1227f4a2713aSLionel Sambuc int32x2_t test_vmvn_s32(int32x2_t a) {
1228*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_s32
1229f4a2713aSLionel Sambuc return vmvn_s32(a);
1230*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1231f4a2713aSLionel Sambuc }
1232f4a2713aSLionel Sambuc
test_vmvnq_s32(int32x4_t a)1233f4a2713aSLionel Sambuc int32x4_t test_vmvnq_s32(int32x4_t a) {
1234*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_s32
1235f4a2713aSLionel Sambuc return vmvnq_s32(a);
1236*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1237f4a2713aSLionel Sambuc }
1238f4a2713aSLionel Sambuc
test_vmvn_u8(uint8x8_t a)1239f4a2713aSLionel Sambuc uint8x8_t test_vmvn_u8(uint8x8_t a) {
1240*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_u8
1241f4a2713aSLionel Sambuc return vmvn_u8(a);
1242*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1243f4a2713aSLionel Sambuc }
1244f4a2713aSLionel Sambuc
test_vmvnq_u8(uint8x16_t a)1245f4a2713aSLionel Sambuc uint8x16_t test_vmvnq_u8(uint8x16_t a) {
1246*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_u8
1247f4a2713aSLionel Sambuc return vmvnq_u8(a);
1248*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1249f4a2713aSLionel Sambuc }
1250f4a2713aSLionel Sambuc
test_vmvn_u16(uint16x4_t a)1251f4a2713aSLionel Sambuc uint16x4_t test_vmvn_u16(uint16x4_t a) {
1252*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_u16
1253f4a2713aSLionel Sambuc return vmvn_u16(a);
1254*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1255f4a2713aSLionel Sambuc }
1256f4a2713aSLionel Sambuc
test_vmvnq_u16(uint16x8_t a)1257f4a2713aSLionel Sambuc uint16x8_t test_vmvnq_u16(uint16x8_t a) {
1258*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_u16
1259f4a2713aSLionel Sambuc return vmvnq_u16(a);
1260*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1261f4a2713aSLionel Sambuc }
1262f4a2713aSLionel Sambuc
test_vmvn_u32(uint32x2_t a)1263f4a2713aSLionel Sambuc uint32x2_t test_vmvn_u32(uint32x2_t a) {
1264*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_u32
1265f4a2713aSLionel Sambuc return vmvn_u32(a);
1266*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1267f4a2713aSLionel Sambuc }
1268f4a2713aSLionel Sambuc
test_vmvnq_u32(uint32x4_t a)1269f4a2713aSLionel Sambuc uint32x4_t test_vmvnq_u32(uint32x4_t a) {
1270*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_u32
1271f4a2713aSLionel Sambuc return vmvnq_u32(a);
1272*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1273f4a2713aSLionel Sambuc }
1274f4a2713aSLionel Sambuc
test_vmvn_p8(poly8x8_t a)1275f4a2713aSLionel Sambuc poly8x8_t test_vmvn_p8(poly8x8_t a) {
1276*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvn_p8
1277f4a2713aSLionel Sambuc return vmvn_p8(a);
1278*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1279f4a2713aSLionel Sambuc }
1280f4a2713aSLionel Sambuc
test_vmvnq_p8(poly8x16_t a)1281f4a2713aSLionel Sambuc poly8x16_t test_vmvnq_p8(poly8x16_t a) {
1282*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmvnq_p8
1283f4a2713aSLionel Sambuc return vmvnq_p8(a);
1284*0a6a1f1dSLionel Sambuc // CHECK: {{mvn|not}} v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1285f4a2713aSLionel Sambuc }
1286f4a2713aSLionel Sambuc
test_vrbit_s8(int8x8_t a)1287f4a2713aSLionel Sambuc int8x8_t test_vrbit_s8(int8x8_t a) {
1288*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbit_s8
1289f4a2713aSLionel Sambuc return vrbit_s8(a);
1290f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1291f4a2713aSLionel Sambuc }
1292f4a2713aSLionel Sambuc
test_vrbitq_s8(int8x16_t a)1293f4a2713aSLionel Sambuc int8x16_t test_vrbitq_s8(int8x16_t a) {
1294*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbitq_s8
1295f4a2713aSLionel Sambuc return vrbitq_s8(a);
1296f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1297f4a2713aSLionel Sambuc }
1298f4a2713aSLionel Sambuc
test_vrbit_u8(uint8x8_t a)1299f4a2713aSLionel Sambuc uint8x8_t test_vrbit_u8(uint8x8_t a) {
1300*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbit_u8
1301f4a2713aSLionel Sambuc return vrbit_u8(a);
1302f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1303f4a2713aSLionel Sambuc }
1304f4a2713aSLionel Sambuc
test_vrbitq_u8(uint8x16_t a)1305f4a2713aSLionel Sambuc uint8x16_t test_vrbitq_u8(uint8x16_t a) {
1306*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbitq_u8
1307f4a2713aSLionel Sambuc return vrbitq_u8(a);
1308f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1309f4a2713aSLionel Sambuc }
1310f4a2713aSLionel Sambuc
test_vrbit_p8(poly8x8_t a)1311f4a2713aSLionel Sambuc poly8x8_t test_vrbit_p8(poly8x8_t a) {
1312*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbit_p8
1313f4a2713aSLionel Sambuc return vrbit_p8(a);
1314f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
1315f4a2713aSLionel Sambuc }
1316f4a2713aSLionel Sambuc
test_vrbitq_p8(poly8x16_t a)1317f4a2713aSLionel Sambuc poly8x16_t test_vrbitq_p8(poly8x16_t a) {
1318*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vrbitq_p8
1319f4a2713aSLionel Sambuc return vrbitq_p8(a);
1320f4a2713aSLionel Sambuc // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
1321f4a2713aSLionel Sambuc }
1322f4a2713aSLionel Sambuc
test_vmovn_s16(int16x8_t a)1323f4a2713aSLionel Sambuc int8x8_t test_vmovn_s16(int16x8_t a) {
1324*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_s16
1325f4a2713aSLionel Sambuc return vmovn_s16(a);
1326f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
1327f4a2713aSLionel Sambuc }
1328f4a2713aSLionel Sambuc
test_vmovn_s32(int32x4_t a)1329f4a2713aSLionel Sambuc int16x4_t test_vmovn_s32(int32x4_t a) {
1330*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_s32
1331f4a2713aSLionel Sambuc return vmovn_s32(a);
1332f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1333f4a2713aSLionel Sambuc }
1334f4a2713aSLionel Sambuc
test_vmovn_s64(int64x2_t a)1335f4a2713aSLionel Sambuc int32x2_t test_vmovn_s64(int64x2_t a) {
1336*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_s64
1337f4a2713aSLionel Sambuc return vmovn_s64(a);
1338f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1339f4a2713aSLionel Sambuc }
1340f4a2713aSLionel Sambuc
test_vmovn_u16(uint16x8_t a)1341f4a2713aSLionel Sambuc uint8x8_t test_vmovn_u16(uint16x8_t a) {
1342*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_u16
1343f4a2713aSLionel Sambuc return vmovn_u16(a);
1344f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
1345f4a2713aSLionel Sambuc }
1346f4a2713aSLionel Sambuc
test_vmovn_u32(uint32x4_t a)1347f4a2713aSLionel Sambuc uint16x4_t test_vmovn_u32(uint32x4_t a) {
1348*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_u32
1349f4a2713aSLionel Sambuc return vmovn_u32(a);
1350f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1351f4a2713aSLionel Sambuc }
1352f4a2713aSLionel Sambuc
test_vmovn_u64(uint64x2_t a)1353f4a2713aSLionel Sambuc uint32x2_t test_vmovn_u64(uint64x2_t a) {
1354*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_u64
1355f4a2713aSLionel Sambuc return vmovn_u64(a);
1356f4a2713aSLionel Sambuc // CHECK: xtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1357f4a2713aSLionel Sambuc }
1358f4a2713aSLionel Sambuc
test_vmovn_high_s16(int8x8_t a,int16x8_t b)1359f4a2713aSLionel Sambuc int8x16_t test_vmovn_high_s16(int8x8_t a, int16x8_t b) {
1360*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_s16
1361f4a2713aSLionel Sambuc return vmovn_high_s16(a, b);
1362f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
1363f4a2713aSLionel Sambuc }
1364f4a2713aSLionel Sambuc
test_vmovn_high_s32(int16x4_t a,int32x4_t b)1365f4a2713aSLionel Sambuc int16x8_t test_vmovn_high_s32(int16x4_t a, int32x4_t b) {
1366*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_s32
1367f4a2713aSLionel Sambuc return vmovn_high_s32(a, b);
1368f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1369f4a2713aSLionel Sambuc }
1370f4a2713aSLionel Sambuc
test_vmovn_high_s64(int32x2_t a,int64x2_t b)1371f4a2713aSLionel Sambuc int32x4_t test_vmovn_high_s64(int32x2_t a, int64x2_t b) {
1372*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_s64
1373f4a2713aSLionel Sambuc return vmovn_high_s64(a, b);
1374f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1375f4a2713aSLionel Sambuc }
1376f4a2713aSLionel Sambuc
test_vmovn_high_u16(int8x8_t a,int16x8_t b)1377f4a2713aSLionel Sambuc int8x16_t test_vmovn_high_u16(int8x8_t a, int16x8_t b) {
1378*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_u16
1379f4a2713aSLionel Sambuc return vmovn_high_u16(a, b);
1380f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
1381f4a2713aSLionel Sambuc }
1382f4a2713aSLionel Sambuc
test_vmovn_high_u32(int16x4_t a,int32x4_t b)1383f4a2713aSLionel Sambuc int16x8_t test_vmovn_high_u32(int16x4_t a, int32x4_t b) {
1384*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_u32
1385f4a2713aSLionel Sambuc return vmovn_high_u32(a, b);
1386f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1387f4a2713aSLionel Sambuc }
1388f4a2713aSLionel Sambuc
test_vmovn_high_u64(int32x2_t a,int64x2_t b)1389f4a2713aSLionel Sambuc int32x4_t test_vmovn_high_u64(int32x2_t a, int64x2_t b) {
1390*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vmovn_high_u64
1391f4a2713aSLionel Sambuc return vmovn_high_u64(a, b);
1392f4a2713aSLionel Sambuc // CHECK: xtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1393f4a2713aSLionel Sambuc }
1394f4a2713aSLionel Sambuc
test_vqmovun_s16(int16x8_t a)1395f4a2713aSLionel Sambuc int8x8_t test_vqmovun_s16(int16x8_t a) {
1396*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_s16
1397f4a2713aSLionel Sambuc return vqmovun_s16(a);
1398f4a2713aSLionel Sambuc // CHECK: sqxtun v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
1399f4a2713aSLionel Sambuc }
1400f4a2713aSLionel Sambuc
test_vqmovun_s32(int32x4_t a)1401f4a2713aSLionel Sambuc int16x4_t test_vqmovun_s32(int32x4_t a) {
1402*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_s32
1403f4a2713aSLionel Sambuc return vqmovun_s32(a);
1404f4a2713aSLionel Sambuc // CHECK: sqxtun v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1405f4a2713aSLionel Sambuc }
1406f4a2713aSLionel Sambuc
test_vqmovun_s64(int64x2_t a)1407f4a2713aSLionel Sambuc int32x2_t test_vqmovun_s64(int64x2_t a) {
1408*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_s64
1409f4a2713aSLionel Sambuc return vqmovun_s64(a);
1410f4a2713aSLionel Sambuc // CHECK: sqxtun v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1411f4a2713aSLionel Sambuc }
1412f4a2713aSLionel Sambuc
test_vqmovun_high_s16(int8x8_t a,int16x8_t b)1413f4a2713aSLionel Sambuc int8x16_t test_vqmovun_high_s16(int8x8_t a, int16x8_t b) {
1414*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_high_s16
1415f4a2713aSLionel Sambuc return vqmovun_high_s16(a, b);
1416f4a2713aSLionel Sambuc // CHECK: sqxtun2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
1417f4a2713aSLionel Sambuc }
1418f4a2713aSLionel Sambuc
test_vqmovun_high_s32(int16x4_t a,int32x4_t b)1419f4a2713aSLionel Sambuc int16x8_t test_vqmovun_high_s32(int16x4_t a, int32x4_t b) {
1420*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_high_s32
1421f4a2713aSLionel Sambuc return vqmovun_high_s32(a, b);
1422f4a2713aSLionel Sambuc // CHECK: sqxtun2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1423f4a2713aSLionel Sambuc }
1424f4a2713aSLionel Sambuc
test_vqmovun_high_s64(int32x2_t a,int64x2_t b)1425f4a2713aSLionel Sambuc int32x4_t test_vqmovun_high_s64(int32x2_t a, int64x2_t b) {
1426*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovun_high_s64
1427f4a2713aSLionel Sambuc return vqmovun_high_s64(a, b);
1428f4a2713aSLionel Sambuc // CHECK: sqxtun2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1429f4a2713aSLionel Sambuc }
1430f4a2713aSLionel Sambuc
test_vqmovn_s16(int16x8_t a)1431f4a2713aSLionel Sambuc int8x8_t test_vqmovn_s16(int16x8_t a) {
1432*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_s16
1433f4a2713aSLionel Sambuc return vqmovn_s16(a);
1434f4a2713aSLionel Sambuc // CHECK: sqxtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
1435f4a2713aSLionel Sambuc }
1436f4a2713aSLionel Sambuc
test_vqmovn_s32(int32x4_t a)1437f4a2713aSLionel Sambuc int16x4_t test_vqmovn_s32(int32x4_t a) {
1438*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_s32
1439f4a2713aSLionel Sambuc return vqmovn_s32(a);
1440f4a2713aSLionel Sambuc // CHECK: sqxtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1441f4a2713aSLionel Sambuc }
1442f4a2713aSLionel Sambuc
test_vqmovn_s64(int64x2_t a)1443f4a2713aSLionel Sambuc int32x2_t test_vqmovn_s64(int64x2_t a) {
1444*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_s64
1445f4a2713aSLionel Sambuc return vqmovn_s64(a);
1446f4a2713aSLionel Sambuc // CHECK: sqxtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1447f4a2713aSLionel Sambuc }
1448f4a2713aSLionel Sambuc
test_vqmovn_high_s16(int8x8_t a,int16x8_t b)1449f4a2713aSLionel Sambuc int8x16_t test_vqmovn_high_s16(int8x8_t a, int16x8_t b) {
1450*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_s16
1451f4a2713aSLionel Sambuc return vqmovn_high_s16(a, b);
1452f4a2713aSLionel Sambuc // CHECK: sqxtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
1453f4a2713aSLionel Sambuc }
1454f4a2713aSLionel Sambuc
test_vqmovn_high_s32(int16x4_t a,int32x4_t b)1455f4a2713aSLionel Sambuc int16x8_t test_vqmovn_high_s32(int16x4_t a, int32x4_t b) {
1456*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_s32
1457f4a2713aSLionel Sambuc return vqmovn_high_s32(a, b);
1458f4a2713aSLionel Sambuc // CHECK: sqxtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1459f4a2713aSLionel Sambuc }
1460f4a2713aSLionel Sambuc
test_vqmovn_high_s64(int32x2_t a,int64x2_t b)1461f4a2713aSLionel Sambuc int32x4_t test_vqmovn_high_s64(int32x2_t a, int64x2_t b) {
1462*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_s64
1463f4a2713aSLionel Sambuc return vqmovn_high_s64(a, b);
1464f4a2713aSLionel Sambuc // CHECK: sqxtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1465f4a2713aSLionel Sambuc }
1466f4a2713aSLionel Sambuc
test_vqmovn_u16(uint16x8_t a)1467f4a2713aSLionel Sambuc uint8x8_t test_vqmovn_u16(uint16x8_t a) {
1468*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_u16
1469f4a2713aSLionel Sambuc return vqmovn_u16(a);
1470f4a2713aSLionel Sambuc // CHECK: uqxtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
1471f4a2713aSLionel Sambuc }
1472f4a2713aSLionel Sambuc
test_vqmovn_u32(uint32x4_t a)1473f4a2713aSLionel Sambuc uint16x4_t test_vqmovn_u32(uint32x4_t a) {
1474*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_u32
1475f4a2713aSLionel Sambuc return vqmovn_u32(a);
1476f4a2713aSLionel Sambuc // CHECK: uqxtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1477f4a2713aSLionel Sambuc }
1478f4a2713aSLionel Sambuc
test_vqmovn_u64(uint64x2_t a)1479f4a2713aSLionel Sambuc uint32x2_t test_vqmovn_u64(uint64x2_t a) {
1480*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_u64
1481f4a2713aSLionel Sambuc return vqmovn_u64(a);
1482f4a2713aSLionel Sambuc // CHECK: uqxtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1483f4a2713aSLionel Sambuc }
1484f4a2713aSLionel Sambuc
test_vqmovn_high_u16(uint8x8_t a,uint16x8_t b)1485f4a2713aSLionel Sambuc uint8x16_t test_vqmovn_high_u16(uint8x8_t a, uint16x8_t b) {
1486*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_u16
1487f4a2713aSLionel Sambuc return vqmovn_high_u16(a, b);
1488f4a2713aSLionel Sambuc // CHECK: uqxtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
1489f4a2713aSLionel Sambuc }
1490f4a2713aSLionel Sambuc
test_vqmovn_high_u32(uint16x4_t a,uint32x4_t b)1491f4a2713aSLionel Sambuc uint16x8_t test_vqmovn_high_u32(uint16x4_t a, uint32x4_t b) {
1492*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_u32
1493f4a2713aSLionel Sambuc return vqmovn_high_u32(a, b);
1494f4a2713aSLionel Sambuc // CHECK: uqxtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1495f4a2713aSLionel Sambuc }
1496f4a2713aSLionel Sambuc
test_vqmovn_high_u64(uint32x2_t a,uint64x2_t b)1497f4a2713aSLionel Sambuc uint32x4_t test_vqmovn_high_u64(uint32x2_t a, uint64x2_t b) {
1498*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vqmovn_high_u64
1499f4a2713aSLionel Sambuc return vqmovn_high_u64(a, b);
1500f4a2713aSLionel Sambuc // CHECK: uqxtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1501f4a2713aSLionel Sambuc }
1502f4a2713aSLionel Sambuc
test_vshll_n_s8(int8x8_t a)1503f4a2713aSLionel Sambuc int16x8_t test_vshll_n_s8(int8x8_t a) {
1504*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_s8
1505f4a2713aSLionel Sambuc return vshll_n_s8(a, 8);
1506f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.8h, {{v[0-9]+}}.8b, #8
1507f4a2713aSLionel Sambuc }
1508f4a2713aSLionel Sambuc
test_vshll_n_s16(int16x4_t a)1509f4a2713aSLionel Sambuc int32x4_t test_vshll_n_s16(int16x4_t a) {
1510*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_s16
1511f4a2713aSLionel Sambuc return vshll_n_s16(a, 16);
1512f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, #16
1513f4a2713aSLionel Sambuc }
1514f4a2713aSLionel Sambuc
test_vshll_n_s32(int32x2_t a)1515f4a2713aSLionel Sambuc int64x2_t test_vshll_n_s32(int32x2_t a) {
1516*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_s32
1517f4a2713aSLionel Sambuc return vshll_n_s32(a, 32);
1518f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.2d, {{v[0-9]+}}.2s, #32
1519f4a2713aSLionel Sambuc }
1520f4a2713aSLionel Sambuc
test_vshll_n_u8(uint8x8_t a)1521f4a2713aSLionel Sambuc uint16x8_t test_vshll_n_u8(uint8x8_t a) {
1522*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_u8
1523f4a2713aSLionel Sambuc return vshll_n_u8(a, 8);
1524f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.8h, {{v[0-9]+}}.8b, #8
1525f4a2713aSLionel Sambuc }
1526f4a2713aSLionel Sambuc
test_vshll_n_u16(uint16x4_t a)1527f4a2713aSLionel Sambuc uint32x4_t test_vshll_n_u16(uint16x4_t a) {
1528*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_u16
1529f4a2713aSLionel Sambuc return vshll_n_u16(a, 16);
1530f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, #16
1531f4a2713aSLionel Sambuc }
1532f4a2713aSLionel Sambuc
test_vshll_n_u32(uint32x2_t a)1533f4a2713aSLionel Sambuc uint64x2_t test_vshll_n_u32(uint32x2_t a) {
1534*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_n_u32
1535f4a2713aSLionel Sambuc return vshll_n_u32(a, 32);
1536f4a2713aSLionel Sambuc // CHECK: shll {{v[0-9]+}}.2d, {{v[0-9]+}}.2s, #32
1537f4a2713aSLionel Sambuc }
1538f4a2713aSLionel Sambuc
test_vshll_high_n_s8(int8x16_t a)1539f4a2713aSLionel Sambuc int16x8_t test_vshll_high_n_s8(int8x16_t a) {
1540*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_s8
1541f4a2713aSLionel Sambuc return vshll_high_n_s8(a, 8);
1542f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.8h, {{v[0-9]+}}.16b, #8
1543f4a2713aSLionel Sambuc }
1544f4a2713aSLionel Sambuc
test_vshll_high_n_s16(int16x8_t a)1545f4a2713aSLionel Sambuc int32x4_t test_vshll_high_n_s16(int16x8_t a) {
1546*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_s16
1547f4a2713aSLionel Sambuc return vshll_high_n_s16(a, 16);
1548f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.4s, {{v[0-9]+}}.8h, #16
1549f4a2713aSLionel Sambuc }
1550f4a2713aSLionel Sambuc
test_vshll_high_n_s32(int32x4_t a)1551f4a2713aSLionel Sambuc int64x2_t test_vshll_high_n_s32(int32x4_t a) {
1552*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_s32
1553f4a2713aSLionel Sambuc return vshll_high_n_s32(a, 32);
1554f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.2d, {{v[0-9]+}}.4s, #32
1555f4a2713aSLionel Sambuc }
1556f4a2713aSLionel Sambuc
test_vshll_high_n_u8(uint8x16_t a)1557f4a2713aSLionel Sambuc uint16x8_t test_vshll_high_n_u8(uint8x16_t a) {
1558*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_u8
1559f4a2713aSLionel Sambuc return vshll_high_n_u8(a, 8);
1560f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.8h, {{v[0-9]+}}.16b, #8
1561f4a2713aSLionel Sambuc }
1562f4a2713aSLionel Sambuc
test_vshll_high_n_u16(uint16x8_t a)1563f4a2713aSLionel Sambuc uint32x4_t test_vshll_high_n_u16(uint16x8_t a) {
1564*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_u16
1565f4a2713aSLionel Sambuc return vshll_high_n_u16(a, 16);
1566f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.4s, {{v[0-9]+}}.8h, #16
1567f4a2713aSLionel Sambuc }
1568f4a2713aSLionel Sambuc
test_vshll_high_n_u32(uint32x4_t a)1569f4a2713aSLionel Sambuc uint64x2_t test_vshll_high_n_u32(uint32x4_t a) {
1570*0a6a1f1dSLionel Sambuc // CHECK-LABEL: test_vshll_high_n_u32
1571f4a2713aSLionel Sambuc return vshll_high_n_u32(a, 32);
1572f4a2713aSLionel Sambuc // CHECK: shll2 {{v[0-9]+}}.2d, {{v[0-9]+}}.4s, #32
1573f4a2713aSLionel Sambuc }
1574f4a2713aSLionel Sambuc
test_vcvt_f16_f32(float32x4_t a)1575f4a2713aSLionel Sambuc float16x4_t test_vcvt_f16_f32(float32x4_t a) {
1576*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f16_f32
1577f4a2713aSLionel Sambuc return vcvt_f16_f32(a);
1578f4a2713aSLionel Sambuc // CHECK: fcvtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
1579f4a2713aSLionel Sambuc }
1580f4a2713aSLionel Sambuc
test_vcvt_high_f16_f32(float16x4_t a,float32x4_t b)1581f4a2713aSLionel Sambuc float16x8_t test_vcvt_high_f16_f32(float16x4_t a, float32x4_t b) {
1582*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_high_f16_f32
1583f4a2713aSLionel Sambuc return vcvt_high_f16_f32(a, b);
1584f4a2713aSLionel Sambuc // CHECK: fcvtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
1585f4a2713aSLionel Sambuc }
1586f4a2713aSLionel Sambuc
test_vcvt_f32_f64(float64x2_t a)1587f4a2713aSLionel Sambuc float32x2_t test_vcvt_f32_f64(float64x2_t a) {
1588*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f32_f64
1589f4a2713aSLionel Sambuc return vcvt_f32_f64(a);
1590f4a2713aSLionel Sambuc // CHECK: fcvtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1591f4a2713aSLionel Sambuc }
1592f4a2713aSLionel Sambuc
test_vcvt_high_f32_f64(float32x2_t a,float64x2_t b)1593f4a2713aSLionel Sambuc float32x4_t test_vcvt_high_f32_f64(float32x2_t a, float64x2_t b) {
1594*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_high_f32_f64
1595f4a2713aSLionel Sambuc return vcvt_high_f32_f64(a, b);
1596f4a2713aSLionel Sambuc // CHECK: fcvtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1597f4a2713aSLionel Sambuc }
1598f4a2713aSLionel Sambuc
test_vcvtx_f32_f64(float64x2_t a)1599f4a2713aSLionel Sambuc float32x2_t test_vcvtx_f32_f64(float64x2_t a) {
1600*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtx_f32_f64
1601f4a2713aSLionel Sambuc return vcvtx_f32_f64(a);
1602f4a2713aSLionel Sambuc // CHECK: fcvtxn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
1603f4a2713aSLionel Sambuc }
1604f4a2713aSLionel Sambuc
test_vcvtx_high_f32_f64(float32x2_t a,float64x2_t b)1605f4a2713aSLionel Sambuc float32x4_t test_vcvtx_high_f32_f64(float32x2_t a, float64x2_t b) {
1606*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtx_high_f32_f64
1607f4a2713aSLionel Sambuc return vcvtx_high_f32_f64(a, b);
1608f4a2713aSLionel Sambuc // CHECK: fcvtxn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
1609f4a2713aSLionel Sambuc }
1610f4a2713aSLionel Sambuc
test_vcvt_f32_f16(float16x4_t a)1611f4a2713aSLionel Sambuc float32x4_t test_vcvt_f32_f16(float16x4_t a) {
1612*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f32_f16
1613f4a2713aSLionel Sambuc return vcvt_f32_f16(a);
1614f4a2713aSLionel Sambuc // CHECK: fcvtl v{{[0-9]+}}.4s, v{{[0-9]+}}.4h
1615f4a2713aSLionel Sambuc }
1616f4a2713aSLionel Sambuc
test_vcvt_high_f32_f16(float16x8_t a)1617f4a2713aSLionel Sambuc float32x4_t test_vcvt_high_f32_f16(float16x8_t a) {
1618*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_high_f32_f16
1619f4a2713aSLionel Sambuc return vcvt_high_f32_f16(a);
1620f4a2713aSLionel Sambuc // CHECK: fcvtl2 v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
1621f4a2713aSLionel Sambuc }
1622f4a2713aSLionel Sambuc
test_vcvt_f64_f32(float32x2_t a)1623f4a2713aSLionel Sambuc float64x2_t test_vcvt_f64_f32(float32x2_t a) {
1624*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f64_f32
1625f4a2713aSLionel Sambuc return vcvt_f64_f32(a);
1626f4a2713aSLionel Sambuc // CHECK: fcvtl v{{[0-9]+}}.2d, v{{[0-9]+}}.2s
1627f4a2713aSLionel Sambuc }
1628f4a2713aSLionel Sambuc
test_vcvt_high_f64_f32(float32x4_t a)1629f4a2713aSLionel Sambuc float64x2_t test_vcvt_high_f64_f32(float32x4_t a) {
1630*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_high_f64_f32
1631f4a2713aSLionel Sambuc return vcvt_high_f64_f32(a);
1632f4a2713aSLionel Sambuc // CHECK: fcvtl2 v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
1633f4a2713aSLionel Sambuc }
1634f4a2713aSLionel Sambuc
test_vrndn_f32(float32x2_t a)1635f4a2713aSLionel Sambuc float32x2_t test_vrndn_f32(float32x2_t a) {
1636*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndn_f32
1637f4a2713aSLionel Sambuc return vrndn_f32(a);
1638f4a2713aSLionel Sambuc // CHECK: frintn v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1639f4a2713aSLionel Sambuc }
1640f4a2713aSLionel Sambuc
test_vrndnq_f32(float32x4_t a)1641f4a2713aSLionel Sambuc float32x4_t test_vrndnq_f32(float32x4_t a) {
1642*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndnq_f32
1643f4a2713aSLionel Sambuc return vrndnq_f32(a);
1644f4a2713aSLionel Sambuc // CHECK: frintn v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1645f4a2713aSLionel Sambuc }
1646f4a2713aSLionel Sambuc
test_vrndnq_f64(float64x2_t a)1647f4a2713aSLionel Sambuc float64x2_t test_vrndnq_f64(float64x2_t a) {
1648*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndnq_f64
1649f4a2713aSLionel Sambuc return vrndnq_f64(a);
1650f4a2713aSLionel Sambuc // CHECK: frintn v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1651f4a2713aSLionel Sambuc }
1652f4a2713aSLionel Sambuc
test_vrnda_f32(float32x2_t a)1653f4a2713aSLionel Sambuc float32x2_t test_vrnda_f32(float32x2_t a) {
1654*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrnda_f32
1655f4a2713aSLionel Sambuc return vrnda_f32(a);
1656f4a2713aSLionel Sambuc // CHECK: frinta v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1657f4a2713aSLionel Sambuc }
1658f4a2713aSLionel Sambuc
test_vrndaq_f32(float32x4_t a)1659f4a2713aSLionel Sambuc float32x4_t test_vrndaq_f32(float32x4_t a) {
1660*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndaq_f32
1661f4a2713aSLionel Sambuc return vrndaq_f32(a);
1662f4a2713aSLionel Sambuc // CHECK: frinta v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1663f4a2713aSLionel Sambuc }
1664f4a2713aSLionel Sambuc
test_vrndaq_f64(float64x2_t a)1665f4a2713aSLionel Sambuc float64x2_t test_vrndaq_f64(float64x2_t a) {
1666*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndaq_f64
1667f4a2713aSLionel Sambuc return vrndaq_f64(a);
1668f4a2713aSLionel Sambuc // CHECK: frinta v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1669f4a2713aSLionel Sambuc }
1670f4a2713aSLionel Sambuc
test_vrndp_f32(float32x2_t a)1671f4a2713aSLionel Sambuc float32x2_t test_vrndp_f32(float32x2_t a) {
1672*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndp_f32
1673f4a2713aSLionel Sambuc return vrndp_f32(a);
1674f4a2713aSLionel Sambuc // CHECK: frintp v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1675f4a2713aSLionel Sambuc }
1676f4a2713aSLionel Sambuc
test_vrndpq_f32(float32x4_t a)1677f4a2713aSLionel Sambuc float32x4_t test_vrndpq_f32(float32x4_t a) {
1678*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndpq_f32
1679f4a2713aSLionel Sambuc return vrndpq_f32(a);
1680f4a2713aSLionel Sambuc // CHECK: frintp v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1681f4a2713aSLionel Sambuc }
1682f4a2713aSLionel Sambuc
test_vrndpq_f64(float64x2_t a)1683f4a2713aSLionel Sambuc float64x2_t test_vrndpq_f64(float64x2_t a) {
1684*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndpq_f64
1685f4a2713aSLionel Sambuc return vrndpq_f64(a);
1686f4a2713aSLionel Sambuc // CHECK: frintp v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1687f4a2713aSLionel Sambuc }
1688f4a2713aSLionel Sambuc
test_vrndm_f32(float32x2_t a)1689f4a2713aSLionel Sambuc float32x2_t test_vrndm_f32(float32x2_t a) {
1690*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndm_f32
1691f4a2713aSLionel Sambuc return vrndm_f32(a);
1692f4a2713aSLionel Sambuc // CHECK: frintm v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1693f4a2713aSLionel Sambuc }
1694f4a2713aSLionel Sambuc
test_vrndmq_f32(float32x4_t a)1695f4a2713aSLionel Sambuc float32x4_t test_vrndmq_f32(float32x4_t a) {
1696*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndmq_f32
1697f4a2713aSLionel Sambuc return vrndmq_f32(a);
1698f4a2713aSLionel Sambuc // CHECK: frintm v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1699f4a2713aSLionel Sambuc }
1700f4a2713aSLionel Sambuc
test_vrndmq_f64(float64x2_t a)1701f4a2713aSLionel Sambuc float64x2_t test_vrndmq_f64(float64x2_t a) {
1702*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndmq_f64
1703f4a2713aSLionel Sambuc return vrndmq_f64(a);
1704f4a2713aSLionel Sambuc // CHECK: frintm v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1705f4a2713aSLionel Sambuc }
1706f4a2713aSLionel Sambuc
test_vrndx_f32(float32x2_t a)1707f4a2713aSLionel Sambuc float32x2_t test_vrndx_f32(float32x2_t a) {
1708*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndx_f32
1709f4a2713aSLionel Sambuc return vrndx_f32(a);
1710f4a2713aSLionel Sambuc // CHECK: frintx v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1711f4a2713aSLionel Sambuc }
1712f4a2713aSLionel Sambuc
test_vrndxq_f32(float32x4_t a)1713f4a2713aSLionel Sambuc float32x4_t test_vrndxq_f32(float32x4_t a) {
1714*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndxq_f32
1715f4a2713aSLionel Sambuc return vrndxq_f32(a);
1716f4a2713aSLionel Sambuc // CHECK: frintx v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1717f4a2713aSLionel Sambuc }
1718f4a2713aSLionel Sambuc
test_vrndxq_f64(float64x2_t a)1719f4a2713aSLionel Sambuc float64x2_t test_vrndxq_f64(float64x2_t a) {
1720*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndxq_f64
1721f4a2713aSLionel Sambuc return vrndxq_f64(a);
1722f4a2713aSLionel Sambuc // CHECK: frintx v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1723f4a2713aSLionel Sambuc }
1724f4a2713aSLionel Sambuc
test_vrnd_f32(float32x2_t a)1725f4a2713aSLionel Sambuc float32x2_t test_vrnd_f32(float32x2_t a) {
1726*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrnd_f32
1727f4a2713aSLionel Sambuc return vrnd_f32(a);
1728f4a2713aSLionel Sambuc // CHECK: frintz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1729f4a2713aSLionel Sambuc }
1730f4a2713aSLionel Sambuc
test_vrndq_f32(float32x4_t a)1731f4a2713aSLionel Sambuc float32x4_t test_vrndq_f32(float32x4_t a) {
1732*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndq_f32
1733f4a2713aSLionel Sambuc return vrndq_f32(a);
1734f4a2713aSLionel Sambuc // CHECK: frintz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1735f4a2713aSLionel Sambuc }
1736f4a2713aSLionel Sambuc
test_vrndq_f64(float64x2_t a)1737f4a2713aSLionel Sambuc float64x2_t test_vrndq_f64(float64x2_t a) {
1738*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndq_f64
1739f4a2713aSLionel Sambuc return vrndq_f64(a);
1740f4a2713aSLionel Sambuc // CHECK: frintz v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1741f4a2713aSLionel Sambuc }
1742f4a2713aSLionel Sambuc
test_vrndi_f32(float32x2_t a)1743f4a2713aSLionel Sambuc float32x2_t test_vrndi_f32(float32x2_t a) {
1744*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndi_f32
1745f4a2713aSLionel Sambuc return vrndi_f32(a);
1746f4a2713aSLionel Sambuc // CHECK: frinti v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1747f4a2713aSLionel Sambuc }
1748f4a2713aSLionel Sambuc
test_vrndiq_f32(float32x4_t a)1749f4a2713aSLionel Sambuc float32x4_t test_vrndiq_f32(float32x4_t a) {
1750*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndiq_f32
1751f4a2713aSLionel Sambuc return vrndiq_f32(a);
1752f4a2713aSLionel Sambuc // CHECK: frinti v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1753f4a2713aSLionel Sambuc }
1754f4a2713aSLionel Sambuc
test_vrndiq_f64(float64x2_t a)1755f4a2713aSLionel Sambuc float64x2_t test_vrndiq_f64(float64x2_t a) {
1756*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrndiq_f64
1757f4a2713aSLionel Sambuc return vrndiq_f64(a);
1758f4a2713aSLionel Sambuc // CHECK: frinti v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1759f4a2713aSLionel Sambuc }
1760f4a2713aSLionel Sambuc
test_vcvt_s32_f32(float32x2_t a)1761f4a2713aSLionel Sambuc int32x2_t test_vcvt_s32_f32(float32x2_t a) {
1762*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_s32_f32
1763f4a2713aSLionel Sambuc return vcvt_s32_f32(a);
1764f4a2713aSLionel Sambuc // CHECK: fcvtzs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1765f4a2713aSLionel Sambuc }
1766f4a2713aSLionel Sambuc
test_vcvtq_s32_f32(float32x4_t a)1767f4a2713aSLionel Sambuc int32x4_t test_vcvtq_s32_f32(float32x4_t a) {
1768*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_s32_f32
1769f4a2713aSLionel Sambuc return vcvtq_s32_f32(a);
1770f4a2713aSLionel Sambuc // CHECK: fcvtzs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1771f4a2713aSLionel Sambuc }
1772f4a2713aSLionel Sambuc
test_vcvtq_s64_f64(float64x2_t a)1773f4a2713aSLionel Sambuc int64x2_t test_vcvtq_s64_f64(float64x2_t a) {
1774*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_s64_f64
1775f4a2713aSLionel Sambuc return vcvtq_s64_f64(a);
1776f4a2713aSLionel Sambuc // CHECK: fcvtzs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1777f4a2713aSLionel Sambuc }
1778f4a2713aSLionel Sambuc
test_vcvt_u32_f32(float32x2_t a)1779f4a2713aSLionel Sambuc uint32x2_t test_vcvt_u32_f32(float32x2_t a) {
1780*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_u32_f32
1781f4a2713aSLionel Sambuc return vcvt_u32_f32(a);
1782f4a2713aSLionel Sambuc // CHECK: fcvtzu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1783f4a2713aSLionel Sambuc }
1784f4a2713aSLionel Sambuc
test_vcvtq_u32_f32(float32x4_t a)1785f4a2713aSLionel Sambuc uint32x4_t test_vcvtq_u32_f32(float32x4_t a) {
1786*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_u32_f32
1787f4a2713aSLionel Sambuc return vcvtq_u32_f32(a);
1788f4a2713aSLionel Sambuc // CHECK: fcvtzu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1789f4a2713aSLionel Sambuc }
1790f4a2713aSLionel Sambuc
test_vcvtq_u64_f64(float64x2_t a)1791f4a2713aSLionel Sambuc uint64x2_t test_vcvtq_u64_f64(float64x2_t a) {
1792*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_u64_f64
1793f4a2713aSLionel Sambuc return vcvtq_u64_f64(a);
1794f4a2713aSLionel Sambuc // CHECK: fcvtzu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1795f4a2713aSLionel Sambuc }
1796f4a2713aSLionel Sambuc
test_vcvtn_s32_f32(float32x2_t a)1797f4a2713aSLionel Sambuc int32x2_t test_vcvtn_s32_f32(float32x2_t a) {
1798*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtn_s32_f32
1799f4a2713aSLionel Sambuc return vcvtn_s32_f32(a);
1800f4a2713aSLionel Sambuc // CHECK: fcvtns v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1801f4a2713aSLionel Sambuc }
1802f4a2713aSLionel Sambuc
test_vcvtnq_s32_f32(float32x4_t a)1803f4a2713aSLionel Sambuc int32x4_t test_vcvtnq_s32_f32(float32x4_t a) {
1804*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtnq_s32_f32
1805f4a2713aSLionel Sambuc return vcvtnq_s32_f32(a);
1806f4a2713aSLionel Sambuc // CHECK: fcvtns v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1807f4a2713aSLionel Sambuc }
1808f4a2713aSLionel Sambuc
test_vcvtnq_s64_f64(float64x2_t a)1809f4a2713aSLionel Sambuc int64x2_t test_vcvtnq_s64_f64(float64x2_t a) {
1810*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtnq_s64_f64
1811f4a2713aSLionel Sambuc return vcvtnq_s64_f64(a);
1812f4a2713aSLionel Sambuc // CHECK: fcvtns v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1813f4a2713aSLionel Sambuc }
1814f4a2713aSLionel Sambuc
test_vcvtn_u32_f32(float32x2_t a)1815f4a2713aSLionel Sambuc uint32x2_t test_vcvtn_u32_f32(float32x2_t a) {
1816*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtn_u32_f32
1817f4a2713aSLionel Sambuc return vcvtn_u32_f32(a);
1818f4a2713aSLionel Sambuc // CHECK: fcvtnu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1819f4a2713aSLionel Sambuc }
1820f4a2713aSLionel Sambuc
test_vcvtnq_u32_f32(float32x4_t a)1821f4a2713aSLionel Sambuc uint32x4_t test_vcvtnq_u32_f32(float32x4_t a) {
1822*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtnq_u32_f32
1823f4a2713aSLionel Sambuc return vcvtnq_u32_f32(a);
1824f4a2713aSLionel Sambuc // CHECK: fcvtnu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1825f4a2713aSLionel Sambuc }
1826f4a2713aSLionel Sambuc
test_vcvtnq_u64_f64(float64x2_t a)1827f4a2713aSLionel Sambuc uint64x2_t test_vcvtnq_u64_f64(float64x2_t a) {
1828*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtnq_u64_f64
1829f4a2713aSLionel Sambuc return vcvtnq_u64_f64(a);
1830f4a2713aSLionel Sambuc // CHECK: fcvtnu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1831f4a2713aSLionel Sambuc }
1832f4a2713aSLionel Sambuc
test_vcvtp_s32_f32(float32x2_t a)1833f4a2713aSLionel Sambuc int32x2_t test_vcvtp_s32_f32(float32x2_t a) {
1834*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtp_s32_f32
1835f4a2713aSLionel Sambuc return vcvtp_s32_f32(a);
1836f4a2713aSLionel Sambuc // CHECK: fcvtps v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1837f4a2713aSLionel Sambuc }
1838f4a2713aSLionel Sambuc
test_vcvtpq_s32_f32(float32x4_t a)1839f4a2713aSLionel Sambuc int32x4_t test_vcvtpq_s32_f32(float32x4_t a) {
1840*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtpq_s32_f32
1841f4a2713aSLionel Sambuc return vcvtpq_s32_f32(a);
1842f4a2713aSLionel Sambuc // CHECK: fcvtps v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1843f4a2713aSLionel Sambuc }
1844f4a2713aSLionel Sambuc
test_vcvtpq_s64_f64(float64x2_t a)1845f4a2713aSLionel Sambuc int64x2_t test_vcvtpq_s64_f64(float64x2_t a) {
1846*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtpq_s64_f64
1847f4a2713aSLionel Sambuc return vcvtpq_s64_f64(a);
1848f4a2713aSLionel Sambuc // CHECK: fcvtps v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1849f4a2713aSLionel Sambuc }
1850f4a2713aSLionel Sambuc
test_vcvtp_u32_f32(float32x2_t a)1851f4a2713aSLionel Sambuc uint32x2_t test_vcvtp_u32_f32(float32x2_t a) {
1852*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtp_u32_f32
1853f4a2713aSLionel Sambuc return vcvtp_u32_f32(a);
1854f4a2713aSLionel Sambuc // CHECK: fcvtpu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1855f4a2713aSLionel Sambuc }
1856f4a2713aSLionel Sambuc
test_vcvtpq_u32_f32(float32x4_t a)1857f4a2713aSLionel Sambuc uint32x4_t test_vcvtpq_u32_f32(float32x4_t a) {
1858*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtpq_u32_f32
1859f4a2713aSLionel Sambuc return vcvtpq_u32_f32(a);
1860f4a2713aSLionel Sambuc // CHECK: fcvtpu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1861f4a2713aSLionel Sambuc }
1862f4a2713aSLionel Sambuc
test_vcvtpq_u64_f64(float64x2_t a)1863f4a2713aSLionel Sambuc uint64x2_t test_vcvtpq_u64_f64(float64x2_t a) {
1864*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtpq_u64_f64
1865f4a2713aSLionel Sambuc return vcvtpq_u64_f64(a);
1866f4a2713aSLionel Sambuc // CHECK: fcvtpu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1867f4a2713aSLionel Sambuc }
1868f4a2713aSLionel Sambuc
test_vcvtm_s32_f32(float32x2_t a)1869f4a2713aSLionel Sambuc int32x2_t test_vcvtm_s32_f32(float32x2_t a) {
1870*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtm_s32_f32
1871f4a2713aSLionel Sambuc return vcvtm_s32_f32(a);
1872f4a2713aSLionel Sambuc // CHECK: fcvtms v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1873f4a2713aSLionel Sambuc }
1874f4a2713aSLionel Sambuc
test_vcvtmq_s32_f32(float32x4_t a)1875f4a2713aSLionel Sambuc int32x4_t test_vcvtmq_s32_f32(float32x4_t a) {
1876*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtmq_s32_f32
1877f4a2713aSLionel Sambuc return vcvtmq_s32_f32(a);
1878f4a2713aSLionel Sambuc // CHECK: fcvtms v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1879f4a2713aSLionel Sambuc }
1880f4a2713aSLionel Sambuc
test_vcvtmq_s64_f64(float64x2_t a)1881f4a2713aSLionel Sambuc int64x2_t test_vcvtmq_s64_f64(float64x2_t a) {
1882*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtmq_s64_f64
1883f4a2713aSLionel Sambuc return vcvtmq_s64_f64(a);
1884f4a2713aSLionel Sambuc // CHECK: fcvtms v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1885f4a2713aSLionel Sambuc }
1886f4a2713aSLionel Sambuc
test_vcvtm_u32_f32(float32x2_t a)1887f4a2713aSLionel Sambuc uint32x2_t test_vcvtm_u32_f32(float32x2_t a) {
1888*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtm_u32_f32
1889f4a2713aSLionel Sambuc return vcvtm_u32_f32(a);
1890f4a2713aSLionel Sambuc // CHECK: fcvtmu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1891f4a2713aSLionel Sambuc }
1892f4a2713aSLionel Sambuc
test_vcvtmq_u32_f32(float32x4_t a)1893f4a2713aSLionel Sambuc uint32x4_t test_vcvtmq_u32_f32(float32x4_t a) {
1894*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtmq_u32_f32
1895f4a2713aSLionel Sambuc return vcvtmq_u32_f32(a);
1896f4a2713aSLionel Sambuc // CHECK: fcvtmu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1897f4a2713aSLionel Sambuc }
1898f4a2713aSLionel Sambuc
test_vcvtmq_u64_f64(float64x2_t a)1899f4a2713aSLionel Sambuc uint64x2_t test_vcvtmq_u64_f64(float64x2_t a) {
1900*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtmq_u64_f64
1901f4a2713aSLionel Sambuc return vcvtmq_u64_f64(a);
1902f4a2713aSLionel Sambuc // CHECK: fcvtmu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1903f4a2713aSLionel Sambuc }
1904f4a2713aSLionel Sambuc
test_vcvta_s32_f32(float32x2_t a)1905f4a2713aSLionel Sambuc int32x2_t test_vcvta_s32_f32(float32x2_t a) {
1906*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvta_s32_f32
1907f4a2713aSLionel Sambuc return vcvta_s32_f32(a);
1908f4a2713aSLionel Sambuc // CHECK: fcvtas v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1909f4a2713aSLionel Sambuc }
1910f4a2713aSLionel Sambuc
test_vcvtaq_s32_f32(float32x4_t a)1911f4a2713aSLionel Sambuc int32x4_t test_vcvtaq_s32_f32(float32x4_t a) {
1912*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtaq_s32_f32
1913f4a2713aSLionel Sambuc return vcvtaq_s32_f32(a);
1914f4a2713aSLionel Sambuc // CHECK: fcvtas v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1915f4a2713aSLionel Sambuc }
1916f4a2713aSLionel Sambuc
test_vcvtaq_s64_f64(float64x2_t a)1917f4a2713aSLionel Sambuc int64x2_t test_vcvtaq_s64_f64(float64x2_t a) {
1918*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtaq_s64_f64
1919f4a2713aSLionel Sambuc return vcvtaq_s64_f64(a);
1920f4a2713aSLionel Sambuc // CHECK: fcvtas v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1921f4a2713aSLionel Sambuc }
1922f4a2713aSLionel Sambuc
test_vcvta_u32_f32(float32x2_t a)1923f4a2713aSLionel Sambuc uint32x2_t test_vcvta_u32_f32(float32x2_t a) {
1924*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvta_u32_f32
1925f4a2713aSLionel Sambuc return vcvta_u32_f32(a);
1926f4a2713aSLionel Sambuc // CHECK: fcvtau v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1927f4a2713aSLionel Sambuc }
1928f4a2713aSLionel Sambuc
test_vcvtaq_u32_f32(float32x4_t a)1929f4a2713aSLionel Sambuc uint32x4_t test_vcvtaq_u32_f32(float32x4_t a) {
1930*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtaq_u32_f32
1931f4a2713aSLionel Sambuc return vcvtaq_u32_f32(a);
1932f4a2713aSLionel Sambuc // CHECK: fcvtau v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1933f4a2713aSLionel Sambuc }
1934f4a2713aSLionel Sambuc
test_vcvtaq_u64_f64(float64x2_t a)1935f4a2713aSLionel Sambuc uint64x2_t test_vcvtaq_u64_f64(float64x2_t a) {
1936*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtaq_u64_f64
1937f4a2713aSLionel Sambuc return vcvtaq_u64_f64(a);
1938f4a2713aSLionel Sambuc // CHECK: fcvtau v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1939f4a2713aSLionel Sambuc }
1940f4a2713aSLionel Sambuc
test_vrsqrte_f32(float32x2_t a)1941f4a2713aSLionel Sambuc float32x2_t test_vrsqrte_f32(float32x2_t a) {
1942*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrsqrte_f32
1943f4a2713aSLionel Sambuc return vrsqrte_f32(a);
1944f4a2713aSLionel Sambuc // CHECK: frsqrte v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1945f4a2713aSLionel Sambuc }
1946f4a2713aSLionel Sambuc
test_vrsqrteq_f32(float32x4_t a)1947f4a2713aSLionel Sambuc float32x4_t test_vrsqrteq_f32(float32x4_t a) {
1948*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrsqrteq_f32
1949f4a2713aSLionel Sambuc return vrsqrteq_f32(a);
1950f4a2713aSLionel Sambuc // CHECK: frsqrte v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1951f4a2713aSLionel Sambuc }
1952f4a2713aSLionel Sambuc
test_vrsqrteq_f64(float64x2_t a)1953f4a2713aSLionel Sambuc float64x2_t test_vrsqrteq_f64(float64x2_t a) {
1954*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrsqrteq_f64
1955f4a2713aSLionel Sambuc return vrsqrteq_f64(a);
1956f4a2713aSLionel Sambuc // CHECK: frsqrte v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1957f4a2713aSLionel Sambuc }
1958f4a2713aSLionel Sambuc
test_vrecpe_f32(float32x2_t a)1959f4a2713aSLionel Sambuc float32x2_t test_vrecpe_f32(float32x2_t a) {
1960*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrecpe_f32
1961f4a2713aSLionel Sambuc return vrecpe_f32(a);
1962f4a2713aSLionel Sambuc // CHECK: frecpe v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1963f4a2713aSLionel Sambuc }
1964f4a2713aSLionel Sambuc
test_vrecpeq_f32(float32x4_t a)1965f4a2713aSLionel Sambuc float32x4_t test_vrecpeq_f32(float32x4_t a) {
1966*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrecpeq_f32
1967f4a2713aSLionel Sambuc return vrecpeq_f32(a);
1968f4a2713aSLionel Sambuc // CHECK: frecpe v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1969f4a2713aSLionel Sambuc }
1970f4a2713aSLionel Sambuc
test_vrecpeq_f64(float64x2_t a)1971f4a2713aSLionel Sambuc float64x2_t test_vrecpeq_f64(float64x2_t a) {
1972*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrecpeq_f64
1973f4a2713aSLionel Sambuc return vrecpeq_f64(a);
1974f4a2713aSLionel Sambuc // CHECK: frecpe v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
1975f4a2713aSLionel Sambuc }
1976f4a2713aSLionel Sambuc
test_vrecpe_u32(uint32x2_t a)1977f4a2713aSLionel Sambuc uint32x2_t test_vrecpe_u32(uint32x2_t a) {
1978*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrecpe_u32
1979f4a2713aSLionel Sambuc return vrecpe_u32(a);
1980f4a2713aSLionel Sambuc // CHECK: urecpe v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1981f4a2713aSLionel Sambuc }
1982f4a2713aSLionel Sambuc
test_vrecpeq_u32(uint32x4_t a)1983f4a2713aSLionel Sambuc uint32x4_t test_vrecpeq_u32(uint32x4_t a) {
1984*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vrecpeq_u32
1985f4a2713aSLionel Sambuc return vrecpeq_u32(a);
1986f4a2713aSLionel Sambuc // CHECK: urecpe v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1987f4a2713aSLionel Sambuc }
1988f4a2713aSLionel Sambuc
test_vsqrt_f32(float32x2_t a)1989f4a2713aSLionel Sambuc float32x2_t test_vsqrt_f32(float32x2_t a) {
1990*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vsqrt_f32
1991f4a2713aSLionel Sambuc return vsqrt_f32(a);
1992f4a2713aSLionel Sambuc // CHECK: fsqrt v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
1993f4a2713aSLionel Sambuc }
1994f4a2713aSLionel Sambuc
test_vsqrtq_f32(float32x4_t a)1995f4a2713aSLionel Sambuc float32x4_t test_vsqrtq_f32(float32x4_t a) {
1996*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vsqrtq_f32
1997f4a2713aSLionel Sambuc return vsqrtq_f32(a);
1998f4a2713aSLionel Sambuc // CHECK: fsqrt v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
1999f4a2713aSLionel Sambuc }
2000f4a2713aSLionel Sambuc
test_vsqrtq_f64(float64x2_t a)2001f4a2713aSLionel Sambuc float64x2_t test_vsqrtq_f64(float64x2_t a) {
2002*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vsqrtq_f64
2003f4a2713aSLionel Sambuc return vsqrtq_f64(a);
2004f4a2713aSLionel Sambuc // CHECK: fsqrt v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
2005f4a2713aSLionel Sambuc }
2006f4a2713aSLionel Sambuc
test_vcvt_f32_s32(int32x2_t a)2007f4a2713aSLionel Sambuc float32x2_t test_vcvt_f32_s32(int32x2_t a) {
2008*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f32_s32
2009f4a2713aSLionel Sambuc return vcvt_f32_s32(a);
2010f4a2713aSLionel Sambuc //CHECK: scvtf v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
2011f4a2713aSLionel Sambuc }
2012f4a2713aSLionel Sambuc
test_vcvt_f32_u32(uint32x2_t a)2013f4a2713aSLionel Sambuc float32x2_t test_vcvt_f32_u32(uint32x2_t a) {
2014*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvt_f32_u32
2015f4a2713aSLionel Sambuc return vcvt_f32_u32(a);
2016f4a2713aSLionel Sambuc //CHECK: ucvtf v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
2017f4a2713aSLionel Sambuc }
2018f4a2713aSLionel Sambuc
test_vcvtq_f32_s32(int32x4_t a)2019f4a2713aSLionel Sambuc float32x4_t test_vcvtq_f32_s32(int32x4_t a) {
2020*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_f32_s32
2021f4a2713aSLionel Sambuc return vcvtq_f32_s32(a);
2022f4a2713aSLionel Sambuc //CHECK: scvtf v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
2023f4a2713aSLionel Sambuc }
2024f4a2713aSLionel Sambuc
test_vcvtq_f32_u32(uint32x4_t a)2025f4a2713aSLionel Sambuc float32x4_t test_vcvtq_f32_u32(uint32x4_t a) {
2026*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_f32_u32
2027f4a2713aSLionel Sambuc return vcvtq_f32_u32(a);
2028f4a2713aSLionel Sambuc //CHECK: ucvtf v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
2029f4a2713aSLionel Sambuc }
2030f4a2713aSLionel Sambuc
test_vcvtq_f64_s64(int64x2_t a)2031f4a2713aSLionel Sambuc float64x2_t test_vcvtq_f64_s64(int64x2_t a) {
2032*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_f64_s64
2033f4a2713aSLionel Sambuc return vcvtq_f64_s64(a);
2034f4a2713aSLionel Sambuc //CHECK: scvtf v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
2035f4a2713aSLionel Sambuc }
2036f4a2713aSLionel Sambuc
test_vcvtq_f64_u64(uint64x2_t a)2037f4a2713aSLionel Sambuc float64x2_t test_vcvtq_f64_u64(uint64x2_t a) {
2038*0a6a1f1dSLionel Sambuc //CHECK-LABEL: test_vcvtq_f64_u64
2039f4a2713aSLionel Sambuc return vcvtq_f64_u64(a);
2040f4a2713aSLionel Sambuc //CHECK: ucvtf v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
2041f4a2713aSLionel Sambuc }
2042