xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/arm64-scalar-test.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // REQUIRES: aarch64-registered-target
2*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon  \
3*0a6a1f1dSLionel Sambuc // RUN:   -S -O1 -o - -ffreestanding %s | FileCheck %s
4*0a6a1f1dSLionel Sambuc 
5*0a6a1f1dSLionel Sambuc // We're explicitly using arm_neon.h here: some types probably don't match
6*0a6a1f1dSLionel Sambuc // the ACLE definitions, but we want to check current codegen.
7*0a6a1f1dSLionel Sambuc #include <arm_neon.h>
8*0a6a1f1dSLionel Sambuc 
test_vrsqrtss_f32(float a,float b)9*0a6a1f1dSLionel Sambuc float test_vrsqrtss_f32(float a, float b) {
10*0a6a1f1dSLionel Sambuc // CHECK: test_vrsqrtss_f32
11*0a6a1f1dSLionel Sambuc   return vrsqrtss_f32(a, b);
12*0a6a1f1dSLionel Sambuc // CHECK: frsqrts {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
13*0a6a1f1dSLionel Sambuc }
14*0a6a1f1dSLionel Sambuc 
test_vrsqrtsd_f64(double a,double b)15*0a6a1f1dSLionel Sambuc double test_vrsqrtsd_f64(double a, double b) {
16*0a6a1f1dSLionel Sambuc // CHECK: test_vrsqrtsd_f64
17*0a6a1f1dSLionel Sambuc   return vrsqrtsd_f64(a, b);
18*0a6a1f1dSLionel Sambuc // CHECK: frsqrts {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
19*0a6a1f1dSLionel Sambuc }
20*0a6a1f1dSLionel Sambuc 
test_vrshl_s64(int64x1_t a,int64x1_t b)21*0a6a1f1dSLionel Sambuc int64x1_t test_vrshl_s64(int64x1_t a, int64x1_t b) {
22*0a6a1f1dSLionel Sambuc // CHECK: test_vrshl_s64
23*0a6a1f1dSLionel Sambuc   return vrshl_s64(a, b);
24*0a6a1f1dSLionel Sambuc // CHECK: srshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
25*0a6a1f1dSLionel Sambuc }
26*0a6a1f1dSLionel Sambuc 
test_vrshl_u64(uint64x1_t a,int64x1_t b)27*0a6a1f1dSLionel Sambuc uint64x1_t test_vrshl_u64(uint64x1_t a, int64x1_t b) {
28*0a6a1f1dSLionel Sambuc // CHECK: test_vrshl_u64
29*0a6a1f1dSLionel Sambuc   return vrshl_u64(a, b);
30*0a6a1f1dSLionel Sambuc // CHECK: urshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
31*0a6a1f1dSLionel Sambuc }
32*0a6a1f1dSLionel Sambuc 
33*0a6a1f1dSLionel Sambuc // CHECK: test_vrshld_s64
test_vrshld_s64(int64_t a,int64_t b)34*0a6a1f1dSLionel Sambuc int64_t test_vrshld_s64(int64_t a, int64_t b) {
35*0a6a1f1dSLionel Sambuc   return vrshld_s64(a, b);
36*0a6a1f1dSLionel Sambuc // CHECK: srshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
37*0a6a1f1dSLionel Sambuc }
38*0a6a1f1dSLionel Sambuc 
39*0a6a1f1dSLionel Sambuc // CHECK: test_vrshld_u64
test_vrshld_u64(uint64_t a,uint64_t b)40*0a6a1f1dSLionel Sambuc uint64_t test_vrshld_u64(uint64_t a, uint64_t b) {
41*0a6a1f1dSLionel Sambuc   return vrshld_u64(a, b);
42*0a6a1f1dSLionel Sambuc // CHECK: urshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
43*0a6a1f1dSLionel Sambuc }
44*0a6a1f1dSLionel Sambuc 
45*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshlb_s8
test_vqrshlb_s8(int8_t a,int8_t b)46*0a6a1f1dSLionel Sambuc int8_t test_vqrshlb_s8(int8_t a, int8_t b) {
47*0a6a1f1dSLionel Sambuc   return vqrshlb_s8(a, b);
48*0a6a1f1dSLionel Sambuc // CHECK: sqrshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
49*0a6a1f1dSLionel Sambuc }
50*0a6a1f1dSLionel Sambuc 
51*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshlh_s16
test_vqrshlh_s16(int16_t a,int16_t b)52*0a6a1f1dSLionel Sambuc int16_t test_vqrshlh_s16(int16_t a, int16_t b) {
53*0a6a1f1dSLionel Sambuc   return vqrshlh_s16(a, b);
54*0a6a1f1dSLionel Sambuc // CHECK: sqrshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
55*0a6a1f1dSLionel Sambuc }
56*0a6a1f1dSLionel Sambuc 
57*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshls_s32
test_vqrshls_s32(int32_t a,int32_t b)58*0a6a1f1dSLionel Sambuc int32_t test_vqrshls_s32(int32_t a, int32_t b) {
59*0a6a1f1dSLionel Sambuc   return vqrshls_s32(a, b);
60*0a6a1f1dSLionel Sambuc // CHECK: sqrshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
61*0a6a1f1dSLionel Sambuc }
62*0a6a1f1dSLionel Sambuc 
63*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshld_s64
test_vqrshld_s64(int64_t a,int64_t b)64*0a6a1f1dSLionel Sambuc int64_t test_vqrshld_s64(int64_t a, int64_t b) {
65*0a6a1f1dSLionel Sambuc   return vqrshld_s64(a, b);
66*0a6a1f1dSLionel Sambuc // CHECK: sqrshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
67*0a6a1f1dSLionel Sambuc }
68*0a6a1f1dSLionel Sambuc 
69*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshlb_u8
test_vqrshlb_u8(uint8_t a,uint8_t b)70*0a6a1f1dSLionel Sambuc uint8_t test_vqrshlb_u8(uint8_t a, uint8_t b) {
71*0a6a1f1dSLionel Sambuc   return vqrshlb_u8(a, b);
72*0a6a1f1dSLionel Sambuc // CHECK: uqrshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
73*0a6a1f1dSLionel Sambuc }
74*0a6a1f1dSLionel Sambuc 
75*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshlh_u16
test_vqrshlh_u16(uint16_t a,uint16_t b)76*0a6a1f1dSLionel Sambuc uint16_t test_vqrshlh_u16(uint16_t a, uint16_t b) {
77*0a6a1f1dSLionel Sambuc   return vqrshlh_u16(a, b);
78*0a6a1f1dSLionel Sambuc // CHECK: uqrshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
79*0a6a1f1dSLionel Sambuc }
80*0a6a1f1dSLionel Sambuc 
81*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshls_u32
test_vqrshls_u32(uint32_t a,uint32_t b)82*0a6a1f1dSLionel Sambuc uint32_t test_vqrshls_u32(uint32_t a, uint32_t b) {
83*0a6a1f1dSLionel Sambuc   return vqrshls_u32(a, b);
84*0a6a1f1dSLionel Sambuc // CHECK: uqrshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
85*0a6a1f1dSLionel Sambuc }
86*0a6a1f1dSLionel Sambuc 
87*0a6a1f1dSLionel Sambuc // CHECK: test_vqrshld_u64
test_vqrshld_u64(uint64_t a,uint64_t b)88*0a6a1f1dSLionel Sambuc uint64_t test_vqrshld_u64(uint64_t a, uint64_t b) {
89*0a6a1f1dSLionel Sambuc   return vqrshld_u64(a, b);
90*0a6a1f1dSLionel Sambuc // CHECK: uqrshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
91*0a6a1f1dSLionel Sambuc }
92*0a6a1f1dSLionel Sambuc 
93*0a6a1f1dSLionel Sambuc // CHECK: test_vqshlb_s8
test_vqshlb_s8(int8_t a,int8_t b)94*0a6a1f1dSLionel Sambuc int8_t test_vqshlb_s8(int8_t a, int8_t b) {
95*0a6a1f1dSLionel Sambuc   return vqshlb_s8(a, b);
96*0a6a1f1dSLionel Sambuc // CHECK: sqshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
97*0a6a1f1dSLionel Sambuc }
98*0a6a1f1dSLionel Sambuc 
99*0a6a1f1dSLionel Sambuc // CHECK: test_vqshlh_s16
test_vqshlh_s16(int16_t a,int16_t b)100*0a6a1f1dSLionel Sambuc int16_t test_vqshlh_s16(int16_t a, int16_t b) {
101*0a6a1f1dSLionel Sambuc   return vqshlh_s16(a, b);
102*0a6a1f1dSLionel Sambuc // CHECK: sqshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
103*0a6a1f1dSLionel Sambuc }
104*0a6a1f1dSLionel Sambuc 
105*0a6a1f1dSLionel Sambuc // CHECK: test_vqshls_s32
test_vqshls_s32(int32_t a,int32_t b)106*0a6a1f1dSLionel Sambuc int32_t test_vqshls_s32(int32_t a, int32_t b) {
107*0a6a1f1dSLionel Sambuc   return vqshls_s32(a, b);
108*0a6a1f1dSLionel Sambuc // CHECK: sqshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
109*0a6a1f1dSLionel Sambuc }
110*0a6a1f1dSLionel Sambuc 
111*0a6a1f1dSLionel Sambuc // CHECK: test_vqshld_s64
test_vqshld_s64(int64_t a,int64_t b)112*0a6a1f1dSLionel Sambuc int64_t test_vqshld_s64(int64_t a, int64_t b) {
113*0a6a1f1dSLionel Sambuc   return vqshld_s64(a, b);
114*0a6a1f1dSLionel Sambuc // CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
115*0a6a1f1dSLionel Sambuc }
116*0a6a1f1dSLionel Sambuc 
117*0a6a1f1dSLionel Sambuc // CHECK: test_vqshld_s64_i
test_vqshld_s64_i(int64_t a)118*0a6a1f1dSLionel Sambuc int64_t test_vqshld_s64_i(int64_t a) {
119*0a6a1f1dSLionel Sambuc   return vqshld_s64(a, 36);
120*0a6a1f1dSLionel Sambuc // CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, #36
121*0a6a1f1dSLionel Sambuc }
122*0a6a1f1dSLionel Sambuc 
123*0a6a1f1dSLionel Sambuc // CHECK: test_vqshlb_u8
test_vqshlb_u8(uint8_t a,uint8_t b)124*0a6a1f1dSLionel Sambuc uint8_t test_vqshlb_u8(uint8_t a, uint8_t b) {
125*0a6a1f1dSLionel Sambuc   return vqshlb_u8(a, b);
126*0a6a1f1dSLionel Sambuc // CHECK: uqshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
127*0a6a1f1dSLionel Sambuc }
128*0a6a1f1dSLionel Sambuc 
129*0a6a1f1dSLionel Sambuc // CHECK: test_vqshlh_u16
test_vqshlh_u16(uint16_t a,uint16_t b)130*0a6a1f1dSLionel Sambuc uint16_t test_vqshlh_u16(uint16_t a, uint16_t b) {
131*0a6a1f1dSLionel Sambuc   return vqshlh_u16(a, b);
132*0a6a1f1dSLionel Sambuc // CHECK: uqshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
133*0a6a1f1dSLionel Sambuc }
134*0a6a1f1dSLionel Sambuc 
135*0a6a1f1dSLionel Sambuc // CHECK: test_vqshls_u32
test_vqshls_u32(uint32_t a,uint32_t b)136*0a6a1f1dSLionel Sambuc uint32_t test_vqshls_u32(uint32_t a, uint32_t b) {
137*0a6a1f1dSLionel Sambuc   return vqshls_u32(a, b);
138*0a6a1f1dSLionel Sambuc // CHECK: uqshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
139*0a6a1f1dSLionel Sambuc }
140*0a6a1f1dSLionel Sambuc 
141*0a6a1f1dSLionel Sambuc // CHECK: test_vqshld_u64
test_vqshld_u64(uint64_t a,uint64_t b)142*0a6a1f1dSLionel Sambuc uint64_t test_vqshld_u64(uint64_t a, uint64_t b) {
143*0a6a1f1dSLionel Sambuc   return vqshld_u64(a, b);
144*0a6a1f1dSLionel Sambuc // CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
145*0a6a1f1dSLionel Sambuc }
146*0a6a1f1dSLionel Sambuc 
147*0a6a1f1dSLionel Sambuc // CHECK: test_vqshld_u64_i
test_vqshld_u64_i(uint64_t a)148*0a6a1f1dSLionel Sambuc uint64_t test_vqshld_u64_i(uint64_t a) {
149*0a6a1f1dSLionel Sambuc   return vqshld_u64(a, 36);
150*0a6a1f1dSLionel Sambuc // CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, #36
151*0a6a1f1dSLionel Sambuc }
152*0a6a1f1dSLionel Sambuc 
153*0a6a1f1dSLionel Sambuc // CHECK: test_vshld_u64
test_vshld_u64(uint64_t a,uint64_t b)154*0a6a1f1dSLionel Sambuc uint64_t test_vshld_u64(uint64_t a, uint64_t b) {
155*0a6a1f1dSLionel Sambuc   return vshld_u64(a, b);
156*0a6a1f1dSLionel Sambuc // CHECK: ushl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
157*0a6a1f1dSLionel Sambuc }
158*0a6a1f1dSLionel Sambuc 
159*0a6a1f1dSLionel Sambuc // CHECK: test_vshld_s64
test_vshld_s64(int64_t a,int64_t b)160*0a6a1f1dSLionel Sambuc int64_t test_vshld_s64(int64_t a, int64_t b) {
161*0a6a1f1dSLionel Sambuc   return vshld_s64(a, b);
162*0a6a1f1dSLionel Sambuc // CHECK: sshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
163*0a6a1f1dSLionel Sambuc }
164*0a6a1f1dSLionel Sambuc 
165*0a6a1f1dSLionel Sambuc // CHECK: test_vqdmullh_s16
test_vqdmullh_s16(int16_t a,int16_t b)166*0a6a1f1dSLionel Sambuc int32_t test_vqdmullh_s16(int16_t a, int16_t b) {
167*0a6a1f1dSLionel Sambuc   return vqdmullh_s16(a, b);
168*0a6a1f1dSLionel Sambuc // CHECK: sqdmull.4s {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
169*0a6a1f1dSLionel Sambuc }
170*0a6a1f1dSLionel Sambuc 
171*0a6a1f1dSLionel Sambuc // CHECK: test_vqdmulls_s32
test_vqdmulls_s32(int32_t a,int32_t b)172*0a6a1f1dSLionel Sambuc int64_t test_vqdmulls_s32(int32_t a, int32_t b) {
173*0a6a1f1dSLionel Sambuc   return vqdmulls_s32(a, b);
174*0a6a1f1dSLionel Sambuc // CHECK: sqdmull {{d[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
175*0a6a1f1dSLionel Sambuc }
176*0a6a1f1dSLionel Sambuc 
177*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddb_s8
test_vqaddb_s8(int8_t a,int8_t b)178*0a6a1f1dSLionel Sambuc int8_t test_vqaddb_s8(int8_t a, int8_t b) {
179*0a6a1f1dSLionel Sambuc   return vqaddb_s8(a, b);
180*0a6a1f1dSLionel Sambuc // CHECK: sqadd.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
181*0a6a1f1dSLionel Sambuc }
182*0a6a1f1dSLionel Sambuc 
183*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddh_s16
test_vqaddh_s16(int16_t a,int16_t b)184*0a6a1f1dSLionel Sambuc int16_t test_vqaddh_s16(int16_t a, int16_t b) {
185*0a6a1f1dSLionel Sambuc   return vqaddh_s16(a, b);
186*0a6a1f1dSLionel Sambuc // CHECK: sqadd.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
187*0a6a1f1dSLionel Sambuc }
188*0a6a1f1dSLionel Sambuc 
189*0a6a1f1dSLionel Sambuc // CHECK: test_vqadds_s32
test_vqadds_s32(int32_t a,int32_t b)190*0a6a1f1dSLionel Sambuc int32_t test_vqadds_s32(int32_t a, int32_t b) {
191*0a6a1f1dSLionel Sambuc   return vqadds_s32(a, b);
192*0a6a1f1dSLionel Sambuc // CHECK: sqadd {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
193*0a6a1f1dSLionel Sambuc }
194*0a6a1f1dSLionel Sambuc 
195*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddd_s64
test_vqaddd_s64(int64_t a,int64_t b)196*0a6a1f1dSLionel Sambuc int64_t test_vqaddd_s64(int64_t a, int64_t b) {
197*0a6a1f1dSLionel Sambuc   return vqaddd_s64(a, b);
198*0a6a1f1dSLionel Sambuc // CHECK: sqadd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
199*0a6a1f1dSLionel Sambuc }
200*0a6a1f1dSLionel Sambuc 
201*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddb_u8
test_vqaddb_u8(uint8_t a,uint8_t b)202*0a6a1f1dSLionel Sambuc uint8_t test_vqaddb_u8(uint8_t a, uint8_t b) {
203*0a6a1f1dSLionel Sambuc   return vqaddb_u8(a, b);
204*0a6a1f1dSLionel Sambuc // CHECK: uqadd.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
205*0a6a1f1dSLionel Sambuc }
206*0a6a1f1dSLionel Sambuc 
207*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddh_u16
test_vqaddh_u16(uint16_t a,uint16_t b)208*0a6a1f1dSLionel Sambuc uint16_t test_vqaddh_u16(uint16_t a, uint16_t b) {
209*0a6a1f1dSLionel Sambuc   return vqaddh_u16(a, b);
210*0a6a1f1dSLionel Sambuc // CHECK: uqadd.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
211*0a6a1f1dSLionel Sambuc }
212*0a6a1f1dSLionel Sambuc 
213*0a6a1f1dSLionel Sambuc // CHECK: test_vqadds_u32
test_vqadds_u32(uint32_t a,uint32_t b)214*0a6a1f1dSLionel Sambuc uint32_t test_vqadds_u32(uint32_t a, uint32_t b) {
215*0a6a1f1dSLionel Sambuc   return vqadds_u32(a, b);
216*0a6a1f1dSLionel Sambuc // CHECK: uqadd {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
217*0a6a1f1dSLionel Sambuc }
218*0a6a1f1dSLionel Sambuc 
219*0a6a1f1dSLionel Sambuc // CHECK: test_vqaddd_u64
test_vqaddd_u64(uint64_t a,uint64_t b)220*0a6a1f1dSLionel Sambuc uint64_t test_vqaddd_u64(uint64_t a, uint64_t b) {
221*0a6a1f1dSLionel Sambuc   return vqaddd_u64(a, b);
222*0a6a1f1dSLionel Sambuc // CHECK: uqadd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
223*0a6a1f1dSLionel Sambuc }
224*0a6a1f1dSLionel Sambuc 
225*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubb_s8
test_vqsubb_s8(int8_t a,int8_t b)226*0a6a1f1dSLionel Sambuc int8_t test_vqsubb_s8(int8_t a, int8_t b) {
227*0a6a1f1dSLionel Sambuc   return vqsubb_s8(a, b);
228*0a6a1f1dSLionel Sambuc // CHECK: sqsub.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
229*0a6a1f1dSLionel Sambuc }
230*0a6a1f1dSLionel Sambuc 
231*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubh_s16
test_vqsubh_s16(int16_t a,int16_t b)232*0a6a1f1dSLionel Sambuc int16_t test_vqsubh_s16(int16_t a, int16_t b) {
233*0a6a1f1dSLionel Sambuc   return vqsubh_s16(a, b);
234*0a6a1f1dSLionel Sambuc // CHECK: sqsub.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
235*0a6a1f1dSLionel Sambuc }
236*0a6a1f1dSLionel Sambuc 
237*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubs_s32
test_vqsubs_s32(int32_t a,int32_t b)238*0a6a1f1dSLionel Sambuc int32_t test_vqsubs_s32(int32_t a, int32_t b) {
239*0a6a1f1dSLionel Sambuc   return vqsubs_s32(a, b);
240*0a6a1f1dSLionel Sambuc // CHECK: sqsub {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
241*0a6a1f1dSLionel Sambuc }
242*0a6a1f1dSLionel Sambuc 
243*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubd_s64
test_vqsubd_s64(int64_t a,int64_t b)244*0a6a1f1dSLionel Sambuc int64_t test_vqsubd_s64(int64_t a, int64_t b) {
245*0a6a1f1dSLionel Sambuc   return vqsubd_s64(a, b);
246*0a6a1f1dSLionel Sambuc // CHECK: sqsub {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
247*0a6a1f1dSLionel Sambuc }
248*0a6a1f1dSLionel Sambuc 
249*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubb_u8
test_vqsubb_u8(uint8_t a,uint8_t b)250*0a6a1f1dSLionel Sambuc uint8_t test_vqsubb_u8(uint8_t a, uint8_t b) {
251*0a6a1f1dSLionel Sambuc   return vqsubb_u8(a, b);
252*0a6a1f1dSLionel Sambuc // CHECK: uqsub.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
253*0a6a1f1dSLionel Sambuc }
254*0a6a1f1dSLionel Sambuc 
255*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubh_u16
test_vqsubh_u16(uint16_t a,uint16_t b)256*0a6a1f1dSLionel Sambuc uint16_t test_vqsubh_u16(uint16_t a, uint16_t b) {
257*0a6a1f1dSLionel Sambuc   return vqsubh_u16(a, b);
258*0a6a1f1dSLionel Sambuc // CHECK: uqsub.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}}
259*0a6a1f1dSLionel Sambuc }
260*0a6a1f1dSLionel Sambuc 
261*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubs_u32
test_vqsubs_u32(uint32_t a,uint32_t b)262*0a6a1f1dSLionel Sambuc uint32_t test_vqsubs_u32(uint32_t a, uint32_t b) {
263*0a6a1f1dSLionel Sambuc   return vqsubs_u32(a, b);
264*0a6a1f1dSLionel Sambuc // CHECK: uqsub {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
265*0a6a1f1dSLionel Sambuc }
266*0a6a1f1dSLionel Sambuc 
267*0a6a1f1dSLionel Sambuc // CHECK: test_vqsubd_u64
test_vqsubd_u64(uint64_t a,uint64_t b)268*0a6a1f1dSLionel Sambuc uint64_t test_vqsubd_u64(uint64_t a, uint64_t b) {
269*0a6a1f1dSLionel Sambuc   return vqsubd_u64(a, b);
270*0a6a1f1dSLionel Sambuc // CHECK: uqsub {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
271*0a6a1f1dSLionel Sambuc }
272*0a6a1f1dSLionel Sambuc 
273*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovnh_s16
test_vqmovnh_s16(int16_t a)274*0a6a1f1dSLionel Sambuc int8_t test_vqmovnh_s16(int16_t a) {
275*0a6a1f1dSLionel Sambuc   return vqmovnh_s16(a);
276*0a6a1f1dSLionel Sambuc // CHECK: sqxtn.8b {{v[0-9]+}}, {{v[0-9]+}}
277*0a6a1f1dSLionel Sambuc }
278*0a6a1f1dSLionel Sambuc 
279*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovnh_u16
test_vqmovnh_u16(uint16_t a)280*0a6a1f1dSLionel Sambuc uint8_t test_vqmovnh_u16(uint16_t a) {
281*0a6a1f1dSLionel Sambuc   return vqmovnh_u16(a);
282*0a6a1f1dSLionel Sambuc // CHECK: uqxtn.8b {{v[0-9]+}}, {{v[0-9]+}}
283*0a6a1f1dSLionel Sambuc }
284*0a6a1f1dSLionel Sambuc 
285*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovns_s32
test_vqmovns_s32(int32_t a)286*0a6a1f1dSLionel Sambuc int16_t test_vqmovns_s32(int32_t a) {
287*0a6a1f1dSLionel Sambuc   return vqmovns_s32(a);
288*0a6a1f1dSLionel Sambuc // CHECK: sqxtn.4h {{v[0-9]+}}, {{v[0-9]+}}
289*0a6a1f1dSLionel Sambuc }
290*0a6a1f1dSLionel Sambuc 
291*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovns_u32
test_vqmovns_u32(uint32_t a)292*0a6a1f1dSLionel Sambuc uint16_t test_vqmovns_u32(uint32_t a) {
293*0a6a1f1dSLionel Sambuc   return vqmovns_u32(a);
294*0a6a1f1dSLionel Sambuc // CHECK: uqxtn.4h {{v[0-9]+}}, {{v[0-9]+}}
295*0a6a1f1dSLionel Sambuc }
296*0a6a1f1dSLionel Sambuc 
297*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovnd_s64
test_vqmovnd_s64(int64_t a)298*0a6a1f1dSLionel Sambuc int32_t test_vqmovnd_s64(int64_t a) {
299*0a6a1f1dSLionel Sambuc   return vqmovnd_s64(a);
300*0a6a1f1dSLionel Sambuc // CHECK: sqxtn {{s[0-9]+}}, {{d[0-9]+}}
301*0a6a1f1dSLionel Sambuc }
302*0a6a1f1dSLionel Sambuc 
303*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovnd_u64
test_vqmovnd_u64(uint64_t a)304*0a6a1f1dSLionel Sambuc uint32_t test_vqmovnd_u64(uint64_t a) {
305*0a6a1f1dSLionel Sambuc   return vqmovnd_u64(a);
306*0a6a1f1dSLionel Sambuc // CHECK: uqxtn {{s[0-9]+}}, {{d[0-9]+}}
307*0a6a1f1dSLionel Sambuc }
308*0a6a1f1dSLionel Sambuc 
309*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovunh_s16
test_vqmovunh_s16(int16_t a)310*0a6a1f1dSLionel Sambuc int8_t test_vqmovunh_s16(int16_t a) {
311*0a6a1f1dSLionel Sambuc   return vqmovunh_s16(a);
312*0a6a1f1dSLionel Sambuc // CHECK: sqxtun.8b {{v[0-9]+}}, {{v[0-9]+}}
313*0a6a1f1dSLionel Sambuc }
314*0a6a1f1dSLionel Sambuc 
315*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovuns_s32
test_vqmovuns_s32(int32_t a)316*0a6a1f1dSLionel Sambuc int16_t test_vqmovuns_s32(int32_t a) {
317*0a6a1f1dSLionel Sambuc   return vqmovuns_s32(a);
318*0a6a1f1dSLionel Sambuc // CHECK: sqxtun.4h {{v[0-9]+}}, {{v[0-9]+}}
319*0a6a1f1dSLionel Sambuc }
320*0a6a1f1dSLionel Sambuc 
321*0a6a1f1dSLionel Sambuc // CHECK: test_vqmovund_s64
test_vqmovund_s64(int64_t a)322*0a6a1f1dSLionel Sambuc int32_t test_vqmovund_s64(int64_t a) {
323*0a6a1f1dSLionel Sambuc   return vqmovund_s64(a);
324*0a6a1f1dSLionel Sambuc // CHECK: sqxtun {{s[0-9]+}}, {{d[0-9]+}}
325*0a6a1f1dSLionel Sambuc }
326*0a6a1f1dSLionel Sambuc 
327*0a6a1f1dSLionel Sambuc // CHECK: test_vqabsb_s8
test_vqabsb_s8(int8_t a)328*0a6a1f1dSLionel Sambuc int8_t test_vqabsb_s8(int8_t a) {
329*0a6a1f1dSLionel Sambuc   return vqabsb_s8(a);
330*0a6a1f1dSLionel Sambuc // CHECK: sqabs.8b {{v[0-9]+}}, {{v[0-9]+}}
331*0a6a1f1dSLionel Sambuc }
332*0a6a1f1dSLionel Sambuc 
333*0a6a1f1dSLionel Sambuc // CHECK: test_vqabsh_s16
test_vqabsh_s16(int16_t a)334*0a6a1f1dSLionel Sambuc int16_t test_vqabsh_s16(int16_t a) {
335*0a6a1f1dSLionel Sambuc   return vqabsh_s16(a);
336*0a6a1f1dSLionel Sambuc // CHECK: sqabs.4h {{v[0-9]+}}, {{v[0-9]+}}
337*0a6a1f1dSLionel Sambuc }
338*0a6a1f1dSLionel Sambuc 
339*0a6a1f1dSLionel Sambuc // CHECK: test_vqabss_s32
test_vqabss_s32(int32_t a)340*0a6a1f1dSLionel Sambuc int32_t test_vqabss_s32(int32_t a) {
341*0a6a1f1dSLionel Sambuc   return vqabss_s32(a);
342*0a6a1f1dSLionel Sambuc // CHECK: sqabs {{s[0-9]+}}, {{s[0-9]+}}
343*0a6a1f1dSLionel Sambuc }
344*0a6a1f1dSLionel Sambuc 
345*0a6a1f1dSLionel Sambuc // CHECK: test_vqabsd_s64
test_vqabsd_s64(int64_t a)346*0a6a1f1dSLionel Sambuc int64_t test_vqabsd_s64(int64_t a) {
347*0a6a1f1dSLionel Sambuc   return vqabsd_s64(a);
348*0a6a1f1dSLionel Sambuc // CHECK: sqabs {{d[0-9]+}}, {{d[0-9]+}}
349*0a6a1f1dSLionel Sambuc }
350*0a6a1f1dSLionel Sambuc 
351*0a6a1f1dSLionel Sambuc // CHECK: test_vqnegb_s8
test_vqnegb_s8(int8_t a)352*0a6a1f1dSLionel Sambuc int8_t test_vqnegb_s8(int8_t a) {
353*0a6a1f1dSLionel Sambuc   return vqnegb_s8(a);
354*0a6a1f1dSLionel Sambuc // CHECK: sqneg.8b {{v[0-9]+}}, {{v[0-9]+}}
355*0a6a1f1dSLionel Sambuc }
356*0a6a1f1dSLionel Sambuc 
357*0a6a1f1dSLionel Sambuc // CHECK: test_vqnegh_s16
test_vqnegh_s16(int16_t a)358*0a6a1f1dSLionel Sambuc int16_t test_vqnegh_s16(int16_t a) {
359*0a6a1f1dSLionel Sambuc   return vqnegh_s16(a);
360*0a6a1f1dSLionel Sambuc // CHECK: sqneg.4h {{v[0-9]+}}, {{v[0-9]+}}
361*0a6a1f1dSLionel Sambuc }
362*0a6a1f1dSLionel Sambuc 
363*0a6a1f1dSLionel Sambuc // CHECK: test_vqnegs_s32
test_vqnegs_s32(int32_t a)364*0a6a1f1dSLionel Sambuc int32_t test_vqnegs_s32(int32_t a) {
365*0a6a1f1dSLionel Sambuc   return vqnegs_s32(a);
366*0a6a1f1dSLionel Sambuc // CHECK: sqneg {{s[0-9]+}}, {{s[0-9]+}}
367*0a6a1f1dSLionel Sambuc }
368*0a6a1f1dSLionel Sambuc 
369*0a6a1f1dSLionel Sambuc // CHECK: test_vqnegd_s64
test_vqnegd_s64(int64_t a)370*0a6a1f1dSLionel Sambuc int64_t test_vqnegd_s64(int64_t a) {
371*0a6a1f1dSLionel Sambuc   return vqnegd_s64(a);
372*0a6a1f1dSLionel Sambuc // CHECK: sqneg {{d[0-9]+}}, {{d[0-9]+}}
373*0a6a1f1dSLionel Sambuc }
374*0a6a1f1dSLionel Sambuc 
375*0a6a1f1dSLionel Sambuc // CHECK: test_vcvts_n_f32_s32
test_vcvts_n_f32_s32(int32_t a)376*0a6a1f1dSLionel Sambuc float32_t test_vcvts_n_f32_s32(int32_t a) {
377*0a6a1f1dSLionel Sambuc   return vcvts_n_f32_s32(a, 3);
378*0a6a1f1dSLionel Sambuc // CHECK: scvtf {{s[0-9]+}}, {{s[0-9]+}}, #3
379*0a6a1f1dSLionel Sambuc }
380*0a6a1f1dSLionel Sambuc 
381*0a6a1f1dSLionel Sambuc // CHECK: test_vcvts_n_f32_u32
test_vcvts_n_f32_u32(uint32_t a)382*0a6a1f1dSLionel Sambuc float32_t test_vcvts_n_f32_u32(uint32_t a) {
383*0a6a1f1dSLionel Sambuc   return vcvts_n_f32_u32(a, 3);
384*0a6a1f1dSLionel Sambuc // CHECK: ucvtf {{s[0-9]+}}, {{s[0-9]+}}, #3
385*0a6a1f1dSLionel Sambuc }
386*0a6a1f1dSLionel Sambuc 
387*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtd_n_f64_s64
test_vcvtd_n_f64_s64(int64_t a)388*0a6a1f1dSLionel Sambuc float64_t test_vcvtd_n_f64_s64(int64_t a) {
389*0a6a1f1dSLionel Sambuc   return vcvtd_n_f64_s64(a, 3);
390*0a6a1f1dSLionel Sambuc // CHECK: scvtf {{d[0-9]+}}, {{d[0-9]+}}, #3
391*0a6a1f1dSLionel Sambuc }
392*0a6a1f1dSLionel Sambuc 
393*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtd_n_f64_u64
test_vcvtd_n_f64_u64(uint64_t a)394*0a6a1f1dSLionel Sambuc float64_t test_vcvtd_n_f64_u64(uint64_t a) {
395*0a6a1f1dSLionel Sambuc   return vcvtd_n_f64_u64(a, 3);
396*0a6a1f1dSLionel Sambuc // CHECK: ucvtf {{d[0-9]+}}, {{d[0-9]+}}, #3
397*0a6a1f1dSLionel Sambuc }
398*0a6a1f1dSLionel Sambuc 
399*0a6a1f1dSLionel Sambuc // CHECK: test_vcvts_n_s32_f32
test_vcvts_n_s32_f32(float32_t a)400*0a6a1f1dSLionel Sambuc int32_t test_vcvts_n_s32_f32(float32_t a) {
401*0a6a1f1dSLionel Sambuc   return vcvts_n_s32_f32(a, 3);
402*0a6a1f1dSLionel Sambuc // CHECK: fcvtzs {{s[0-9]+}}, {{s[0-9]+}}, #3
403*0a6a1f1dSLionel Sambuc }
404*0a6a1f1dSLionel Sambuc 
405*0a6a1f1dSLionel Sambuc // CHECK: test_vcvts_n_u32_f32
test_vcvts_n_u32_f32(float32_t a)406*0a6a1f1dSLionel Sambuc uint32_t test_vcvts_n_u32_f32(float32_t a) {
407*0a6a1f1dSLionel Sambuc   return vcvts_n_u32_f32(a, 3);
408*0a6a1f1dSLionel Sambuc // CHECK: fcvtzu {{s[0-9]+}}, {{s[0-9]+}}, #3
409*0a6a1f1dSLionel Sambuc }
410*0a6a1f1dSLionel Sambuc 
411*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtd_n_s64_f64
test_vcvtd_n_s64_f64(float64_t a)412*0a6a1f1dSLionel Sambuc int64_t test_vcvtd_n_s64_f64(float64_t a) {
413*0a6a1f1dSLionel Sambuc   return vcvtd_n_s64_f64(a, 3);
414*0a6a1f1dSLionel Sambuc // CHECK: fcvtzs {{d[0-9]+}}, {{d[0-9]+}}, #3
415*0a6a1f1dSLionel Sambuc }
416*0a6a1f1dSLionel Sambuc 
417*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtd_n_u64_f64
test_vcvtd_n_u64_f64(float64_t a)418*0a6a1f1dSLionel Sambuc uint64_t test_vcvtd_n_u64_f64(float64_t a) {
419*0a6a1f1dSLionel Sambuc   return vcvtd_n_u64_f64(a, 3);
420*0a6a1f1dSLionel Sambuc // CHECK: fcvtzu {{d[0-9]+}}, {{d[0-9]+}}, #3
421*0a6a1f1dSLionel Sambuc }
422*0a6a1f1dSLionel Sambuc 
423*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtas_s32_f32
test_vcvtas_s32_f32(float32_t a)424*0a6a1f1dSLionel Sambuc int32_t test_vcvtas_s32_f32(float32_t a) {
425*0a6a1f1dSLionel Sambuc   return vcvtas_s32_f32(a);
426*0a6a1f1dSLionel Sambuc // CHECK: fcvtas {{w[0-9]+}}, {{s[0-9]+}}
427*0a6a1f1dSLionel Sambuc }
428*0a6a1f1dSLionel Sambuc 
429*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtas_u32_f32
test_vcvtas_u32_f32(float32_t a)430*0a6a1f1dSLionel Sambuc uint32_t test_vcvtas_u32_f32(float32_t a) {
431*0a6a1f1dSLionel Sambuc   return vcvtas_u32_f32(a);
432*0a6a1f1dSLionel Sambuc // CHECK: fcvtau {{w[0-9]+}}, {{s[0-9]+}}
433*0a6a1f1dSLionel Sambuc }
434*0a6a1f1dSLionel Sambuc 
435*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtad_s64_f64
test_vcvtad_s64_f64(float64_t a)436*0a6a1f1dSLionel Sambuc int64_t test_vcvtad_s64_f64(float64_t a) {
437*0a6a1f1dSLionel Sambuc   return vcvtad_s64_f64(a);
438*0a6a1f1dSLionel Sambuc // CHECK: fcvtas {{x[0-9]+}}, {{d[0-9]+}}
439*0a6a1f1dSLionel Sambuc }
440*0a6a1f1dSLionel Sambuc 
441*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtad_u64_f64
test_vcvtad_u64_f64(float64_t a)442*0a6a1f1dSLionel Sambuc uint64_t test_vcvtad_u64_f64(float64_t a) {
443*0a6a1f1dSLionel Sambuc   return vcvtad_u64_f64(a);
444*0a6a1f1dSLionel Sambuc // CHECK: fcvtau {{x[0-9]+}}, {{d[0-9]+}}
445*0a6a1f1dSLionel Sambuc }
446*0a6a1f1dSLionel Sambuc 
447*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtms_s32_f32
test_vcvtms_s32_f32(float32_t a)448*0a6a1f1dSLionel Sambuc int32_t test_vcvtms_s32_f32(float32_t a) {
449*0a6a1f1dSLionel Sambuc   return vcvtms_s32_f32(a);
450*0a6a1f1dSLionel Sambuc // CHECK: fcvtms {{w[0-9]+}}, {{s[0-9]+}}
451*0a6a1f1dSLionel Sambuc }
452*0a6a1f1dSLionel Sambuc 
453*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtms_u32_f32
test_vcvtms_u32_f32(float32_t a)454*0a6a1f1dSLionel Sambuc uint32_t test_vcvtms_u32_f32(float32_t a) {
455*0a6a1f1dSLionel Sambuc   return vcvtms_u32_f32(a);
456*0a6a1f1dSLionel Sambuc // CHECK: fcvtmu {{w[0-9]+}}, {{s[0-9]+}}
457*0a6a1f1dSLionel Sambuc }
458*0a6a1f1dSLionel Sambuc 
459*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtmd_s64_f64
test_vcvtmd_s64_f64(float64_t a)460*0a6a1f1dSLionel Sambuc int64_t test_vcvtmd_s64_f64(float64_t a) {
461*0a6a1f1dSLionel Sambuc   return vcvtmd_s64_f64(a);
462*0a6a1f1dSLionel Sambuc // CHECK: fcvtms {{x[0-9]+}}, {{d[0-9]+}}
463*0a6a1f1dSLionel Sambuc }
464*0a6a1f1dSLionel Sambuc 
465*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtmd_u64_f64
test_vcvtmd_u64_f64(float64_t a)466*0a6a1f1dSLionel Sambuc uint64_t test_vcvtmd_u64_f64(float64_t a) {
467*0a6a1f1dSLionel Sambuc   return vcvtmd_u64_f64(a);
468*0a6a1f1dSLionel Sambuc // CHECK: fcvtmu {{x[0-9]+}}, {{d[0-9]+}}
469*0a6a1f1dSLionel Sambuc }
470*0a6a1f1dSLionel Sambuc 
471*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtns_s32_f32
test_vcvtns_s32_f32(float32_t a)472*0a6a1f1dSLionel Sambuc int32_t test_vcvtns_s32_f32(float32_t a) {
473*0a6a1f1dSLionel Sambuc   return vcvtns_s32_f32(a);
474*0a6a1f1dSLionel Sambuc // CHECK: fcvtns {{w[0-9]+}}, {{s[0-9]+}}
475*0a6a1f1dSLionel Sambuc }
476*0a6a1f1dSLionel Sambuc 
477*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtns_u32_f32
test_vcvtns_u32_f32(float32_t a)478*0a6a1f1dSLionel Sambuc uint32_t test_vcvtns_u32_f32(float32_t a) {
479*0a6a1f1dSLionel Sambuc   return vcvtns_u32_f32(a);
480*0a6a1f1dSLionel Sambuc // CHECK: fcvtnu {{w[0-9]+}}, {{s[0-9]+}}
481*0a6a1f1dSLionel Sambuc }
482*0a6a1f1dSLionel Sambuc 
483*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtnd_s64_f64
test_vcvtnd_s64_f64(float64_t a)484*0a6a1f1dSLionel Sambuc int64_t test_vcvtnd_s64_f64(float64_t a) {
485*0a6a1f1dSLionel Sambuc   return vcvtnd_s64_f64(a);
486*0a6a1f1dSLionel Sambuc // CHECK: fcvtns {{x[0-9]+}}, {{d[0-9]+}}
487*0a6a1f1dSLionel Sambuc }
488*0a6a1f1dSLionel Sambuc 
489*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtnd_u64_f64
test_vcvtnd_u64_f64(float64_t a)490*0a6a1f1dSLionel Sambuc uint64_t test_vcvtnd_u64_f64(float64_t a) {
491*0a6a1f1dSLionel Sambuc   return vcvtnd_u64_f64(a);
492*0a6a1f1dSLionel Sambuc // CHECK: fcvtnu {{x[0-9]+}}, {{d[0-9]+}}
493*0a6a1f1dSLionel Sambuc }
494*0a6a1f1dSLionel Sambuc 
495*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtps_s32_f32
test_vcvtps_s32_f32(float32_t a)496*0a6a1f1dSLionel Sambuc int32_t test_vcvtps_s32_f32(float32_t a) {
497*0a6a1f1dSLionel Sambuc   return vcvtps_s32_f32(a);
498*0a6a1f1dSLionel Sambuc // CHECK: fcvtps {{w[0-9]+}}, {{s[0-9]+}}
499*0a6a1f1dSLionel Sambuc }
500*0a6a1f1dSLionel Sambuc 
501*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtps_u32_f32
test_vcvtps_u32_f32(float32_t a)502*0a6a1f1dSLionel Sambuc uint32_t test_vcvtps_u32_f32(float32_t a) {
503*0a6a1f1dSLionel Sambuc   return vcvtps_u32_f32(a);
504*0a6a1f1dSLionel Sambuc // CHECK: fcvtpu {{w[0-9]+}}, {{s[0-9]+}}
505*0a6a1f1dSLionel Sambuc }
506*0a6a1f1dSLionel Sambuc 
507*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtpd_s64_f64
test_vcvtpd_s64_f64(float64_t a)508*0a6a1f1dSLionel Sambuc int64_t test_vcvtpd_s64_f64(float64_t a) {
509*0a6a1f1dSLionel Sambuc   return vcvtpd_s64_f64(a);
510*0a6a1f1dSLionel Sambuc // CHECK: fcvtps {{x[0-9]+}}, {{d[0-9]+}}
511*0a6a1f1dSLionel Sambuc }
512*0a6a1f1dSLionel Sambuc 
513*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtpd_u64_f64
test_vcvtpd_u64_f64(float64_t a)514*0a6a1f1dSLionel Sambuc uint64_t test_vcvtpd_u64_f64(float64_t a) {
515*0a6a1f1dSLionel Sambuc   return vcvtpd_u64_f64(a);
516*0a6a1f1dSLionel Sambuc // CHECK: fcvtpu {{x[0-9]+}}, {{d[0-9]+}}
517*0a6a1f1dSLionel Sambuc }
518*0a6a1f1dSLionel Sambuc 
519*0a6a1f1dSLionel Sambuc // CHECK: test_vcvtxd_f32_f64
test_vcvtxd_f32_f64(float64_t a)520*0a6a1f1dSLionel Sambuc float32_t test_vcvtxd_f32_f64(float64_t a) {
521*0a6a1f1dSLionel Sambuc   return vcvtxd_f32_f64(a);
522*0a6a1f1dSLionel Sambuc // CHECK: fcvtxn {{s[0-9]+}}, {{d[0-9]+}}
523*0a6a1f1dSLionel Sambuc }
524*0a6a1f1dSLionel Sambuc 
525*0a6a1f1dSLionel Sambuc // CHECK: test_vabds_f32
test_vabds_f32(float32_t a,float32_t b)526*0a6a1f1dSLionel Sambuc float32_t test_vabds_f32(float32_t a, float32_t b) {
527*0a6a1f1dSLionel Sambuc   return vabds_f32(a, b);
528*0a6a1f1dSLionel Sambuc   // CHECK: fabd {{s[0-9]+}}, {{s[0-9]+}}
529*0a6a1f1dSLionel Sambuc }
530*0a6a1f1dSLionel Sambuc 
531*0a6a1f1dSLionel Sambuc // CHECK: test_vabdd_f64
test_vabdd_f64(float64_t a,float64_t b)532*0a6a1f1dSLionel Sambuc float64_t test_vabdd_f64(float64_t a, float64_t b) {
533*0a6a1f1dSLionel Sambuc   return vabdd_f64(a, b);
534*0a6a1f1dSLionel Sambuc   // CHECK: fabd {{d[0-9]+}}, {{d[0-9]+}}
535*0a6a1f1dSLionel Sambuc }
536*0a6a1f1dSLionel Sambuc 
537*0a6a1f1dSLionel Sambuc // CHECK: test_vmulxs_f32
test_vmulxs_f32(float32_t a,float32_t b)538*0a6a1f1dSLionel Sambuc float32_t test_vmulxs_f32(float32_t a, float32_t b) {
539*0a6a1f1dSLionel Sambuc   return vmulxs_f32(a, b);
540*0a6a1f1dSLionel Sambuc   // CHECK: fmulx {{s[0-9]+}}, {{s[0-9]+}}
541*0a6a1f1dSLionel Sambuc }
542*0a6a1f1dSLionel Sambuc 
543*0a6a1f1dSLionel Sambuc // CHECK: test_vmulxd_f64
test_vmulxd_f64(float64_t a,float64_t b)544*0a6a1f1dSLionel Sambuc float64_t test_vmulxd_f64(float64_t a, float64_t b) {
545*0a6a1f1dSLionel Sambuc   return vmulxd_f64(a, b);
546*0a6a1f1dSLionel Sambuc   // CHECK: fmulx {{d[0-9]+}}, {{d[0-9]+}}
547*0a6a1f1dSLionel Sambuc }
548