aarch64-neon-misc.c revision 612f5bfeac5c4d923bb448b2f06e3aeab318130f
12a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// REQUIRES: aarch64-registered-target
22a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
32a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
42a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
52a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// Test new aarch64 intrinsics and types
62a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
72a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin#include <arm_neon.h>
82a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
92a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_s8
102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0x0
112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vceqz_s8(int8x8_t a) {
122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_s8(a);
132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_s16
162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vceqz_s16(int16x4_t a) {
182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_s16(a);
192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_s32
222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0x0
232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vceqz_s32(int32x2_t a) {
242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_s32(a);
252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
27612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vceqz_s64
28612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #0x0
29612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vceqz_s64(int64x1_t a) {
30612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vceqz_s64(a);
31612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
32612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
33612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vceqz_u64
34612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #0x0
35612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vceqz_u64(uint64x1_t a) {
36612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vceqz_u64(a);
37612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
38612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
39612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vceqz_p64
40612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmeq {{d[0-9]+}}, {{d[0-9]+}}, #0x0
41612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vceqz_p64(poly64x1_t a) {
42612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vceqz_p64(a);
43612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
44612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_s8
462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0x0
472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vceqzq_s8(int8x16_t a) {
482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_s8(a);
492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_s16
522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vceqzq_s16(int16x8_t a) {
542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_s16(a);
552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_s32
582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0x0
592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vceqzq_s32(int32x4_t a) {
602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_s32(a);
612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_s64
642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0x0
652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vceqzq_s64(int64x2_t a) {
662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_s64(a);
672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_u8
702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0x0
712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vceqz_u8(uint8x8_t a) {
722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_u8(a);
732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_u16
762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vceqz_u16(uint16x4_t a) {
782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_u16(a);
792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_u32
822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0x0
832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vceqz_u32(uint32x2_t a) {
842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_u32(a);
852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_u8
882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0x0
892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vceqzq_u8(uint8x16_t a) {
902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_u8(a);
912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_u16
942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vceqzq_u16(uint16x8_t a) {
962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_u16(a);
972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_u32
1002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0x0
1012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vceqzq_u32(uint32x4_t a) {
1022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_u32(a);
1032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_u64
1062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0x0
1072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vceqzq_u64(uint64x2_t a) {
1082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_u64(a);
1092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_f32
1122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmeq  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
1132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vceqz_f32(float32x2_t a) {
1142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_f32(a);
1152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_f32
1182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmeq  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
1192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vceqzq_f32(float32x4_t a) {
1202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_f32(a);
1212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqz_p16
1242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
1252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vceqz_p16(poly16x4_t a) {
1262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqz_p16(a);
1272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_p16
1302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmeq  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
1312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vceqzq_p16(poly16x8_t a) {
1322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_p16(a);
1332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vceqzq_f64
1362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmeq  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
1372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vceqzq_f64(float64x2_t a) {
1382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vceqzq_f64(a);
1392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
141612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vceqzq_p64
142612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmeq  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
143612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x2_t test_vceqzq_p64(poly64x2_t a) {
144612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vceqzq_p64(a);
145612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
146612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
1472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgez_s8
1482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0x0
1492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vcgez_s8(int8x8_t a) {
1502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgez_s8(a);
1512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgez_s16
1542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
1552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vcgez_s16(int16x4_t a) {
1562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgez_s16(a);
1572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgez_s32
1602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0x0
1612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcgez_s32(int32x2_t a) {
1622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgez_s32(a);
1632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
165612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vcgez_s64
166612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmge {{d[0-9]+}}, {{d[0-9]+}}, #0x0
167612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vcgez_s64(int64x1_t a) {
168612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vcgez_s64(a);
169612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
170612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
1712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_s8
1722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0x0
1732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vcgezq_s8(int8x16_t a) {
1742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_s8(a);
1752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_s16
1782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
1792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vcgezq_s16(int16x8_t a) {
1802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_s16(a);
1812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_s32
1842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0x0
1852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcgezq_s32(int32x4_t a) {
1862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_s32(a);
1872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_s64
1902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmge  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0x0
1912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcgezq_s64(int64x2_t a) {
1922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_s64(a);
1932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
1942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
1952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgez_f32
1962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmge  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
1972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcgez_f32(float32x2_t a) {
1982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgez_f32(a);
1992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_f32
2022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmge  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
2032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcgezq_f32(float32x4_t a) {
2042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_f32(a);
2052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgezq_f64
2082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmge  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
2092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcgezq_f64(float64x2_t a) {
2102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgezq_f64(a);
2112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclez_s8
2142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0x0
2152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vclez_s8(int8x8_t a) {
2162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclez_s8(a);
2172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclez_s16
2202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
2212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vclez_s16(int16x4_t a) {
2222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclez_s16(a);
2232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclez_s32
2262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0x0
2272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vclez_s32(int32x2_t a) {
2282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclez_s32(a);
2292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
231612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vclez_s64
232612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmle {{d[0-9]+}}, {{d[0-9]+}}, #0x0
233612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vclez_s64(int64x1_t a) {
234612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vclez_s64(a);
235612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
236612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
2372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_s8
2382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0x0
2392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vclezq_s8(int8x16_t a) {
2402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_s8(a);
2412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_s16
2442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
2452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vclezq_s16(int16x8_t a) {
2462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_s16(a);
2472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_s32
2502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0x0
2512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vclezq_s32(int32x4_t a) {
2522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_s32(a);
2532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_s64
2562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmle  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0x0
2572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vclezq_s64(int64x2_t a) {
2582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_s64(a);
2592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclez_f32
2622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmle  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
2632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vclez_f32(float32x2_t a) {
2642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclez_f32(a);
2652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_f32
2682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmle  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
2692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vclezq_f32(float32x4_t a) {
2702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_f32(a);
2712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vclezq_f64
2742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmle  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
2752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vclezq_f64(float64x2_t a) {
2762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclezq_f64(a);
2772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtz_s8
2802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0x0
2812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vcgtz_s8(int8x8_t a) {
2822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtz_s8(a);
2832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtz_s16
2862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0x0
2872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vcgtz_s16(int16x4_t a) {
2882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtz_s16(a);
2892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
2912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtz_s32
2922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0x0
2932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcgtz_s32(int32x2_t a) {
2942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtz_s32(a);
2952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
297612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vcgtz_s64
298612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmgt {{d[0-9]+}}, {{d[0-9]+}}, #0x0
299612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vcgtz_s64(int64x1_t a) {
300612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vcgtz_s64(a);
301612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
302612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
3032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_s8
3042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0x0
3052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vcgtzq_s8(int8x16_t a) {
3062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_s8(a);
3072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_s16
3102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0x0
3112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vcgtzq_s16(int16x8_t a) {
3122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_s16(a);
3132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_s32
3162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0x0
3172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcgtzq_s32(int32x4_t a) {
3182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_s32(a);
3192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_s64
3222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmgt  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0x0
3232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcgtzq_s64(int64x2_t a) {
3242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_s64(a);
3252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtz_f32
3282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmgt  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
3292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcgtz_f32(float32x2_t a) {
3302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtz_f32(a);
3312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_f32
3342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmgt  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
3352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcgtzq_f32(float32x4_t a) {
3362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_f32(a);
3372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcgtzq_f64
3402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmgt  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
3412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcgtzq_f64(float64x2_t a) {
3422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcgtzq_f64(a);
3432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltz_s8
3462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, #0
3472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vcltz_s8(int8x8_t a) {
3482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltz_s8(a);
3492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltz_s16
3522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, #0
3532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vcltz_s16(int16x4_t a) {
3542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltz_s16(a);
3552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltz_s32
3582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
3592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcltz_s32(int32x2_t a) {
3602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltz_s32(a);
3612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
363612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: test_vcltz_s64
364612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling// CHECK: cmlt {{d[0-9]+}}, {{d[0-9]+}}, #0
365612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendlinguint64x1_t test_vcltz_s64(int64x1_t a) {
366612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling  return vcltz_s64(a);
367612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling}
368612f5bfeac5c4d923bb448b2f06e3aeab318130fBill Wendling
3692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_s8
3702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, #0
3712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vcltzq_s8(int8x16_t a) {
3722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_s8(a);
3732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_s16
3762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, #0
3772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vcltzq_s16(int16x8_t a) {
3782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_s16(a);
3792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_s32
3822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
3832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcltzq_s32(int32x4_t a) {
3842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_s32(a);
3852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_s64
3882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: cmlt  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
3892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcltzq_s64(int64x2_t a) {
3902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_s64(a);
3912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltz_f32
3942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmlt  {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, #0
3952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcltz_f32(float32x2_t a) {
3962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltz_f32(a);
3972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
3982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
3992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_f32
4002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmlt  {{v[0-9]+}}.4s, {{v[0-9]+}}.4s, #0
4012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcltzq_f32(float32x4_t a) {
4022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_f32(a);
4032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vcltzq_f64
4062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: fcmlt  {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #0
4072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcltzq_f64(float64x2_t a) {
4082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcltzq_f64(a);
4092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16_s8
4122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vrev16_s8(int8x8_t a) {
4142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16_s8(a);
4152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16_u8
4182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vrev16_u8(uint8x8_t a) {
4202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16_u8(a);
4212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16_p8
4242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vrev16_p8(poly8x8_t a) {
4262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16_p8(a);
4272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16q_s8
4302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
4312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vrev16q_s8(int8x16_t a) {
4322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16q_s8(a);
4332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16q_u8
4362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
4372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vrev16q_u8(uint8x16_t a) {
4382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16q_u8(a);
4392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev16q_p8
4422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev16 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
4432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vrev16q_p8(poly8x16_t a) {
4442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev16q_p8(a);
4452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_s8
4482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vrev32_s8(int8x8_t a) {
4502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_s8(a);
4512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_s16
4542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
4552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vrev32_s16(int16x4_t a) {
4562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_s16(a);
4572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_u8
4602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vrev32_u8(uint8x8_t a) {
4622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_u8(a);
4632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_u16
4662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
4672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vrev32_u16(uint16x4_t a) {
4682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_u16(a);
4692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_p8
4722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
4732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vrev32_p8(poly8x8_t a) {
4742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_p8(a);
4752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32_p16
4782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
4792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly16x4_t test_vrev32_p16(poly16x4_t a) {
4802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32_p16(a);
4812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_s8
4842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
4852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vrev32q_s8(int8x16_t a) {
4862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_s8(a);
4872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_s16
4902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
4912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vrev32q_s16(int16x8_t a) {
4922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_s16(a);
4932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
4942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
4952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_u8
4962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
4972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vrev32q_u8(uint8x16_t a) {
4982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_u8(a);
4992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_u16
5022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
5032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vrev32q_u16(uint16x8_t a) {
5042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_u16(a);
5052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_p8
5082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
5092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vrev32q_p8(poly8x16_t a) {
5102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_p8(a);
5112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev32q_p16
5142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev32 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
5152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly16x8_t test_vrev32q_p16(poly16x8_t a) {
5162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev32q_p16(a);
5172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_s8
5202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
5212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vrev64_s8(int8x8_t a) {
5222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_s8(a);
5232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_s16
5262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
5272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vrev64_s16(int16x4_t a) {
5282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_s16(a);
5292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_s32
5322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
5332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vrev64_s32(int32x2_t a) {
5342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_s32(a);
5352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_u8
5382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
5392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vrev64_u8(uint8x8_t a) {
5402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_u8(a);
5412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_u16
5442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
5452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vrev64_u16(uint16x4_t a) {
5462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_u16(a);
5472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_u32
5502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
5512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vrev64_u32(uint32x2_t a) {
5522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_u32(a);
5532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_p8
5562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
5572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vrev64_p8(poly8x8_t a) {
5582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_p8(a);
5592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_p16
5622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
5632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly16x4_t test_vrev64_p16(poly16x4_t a) {
5642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_p16(a);
5652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64_f32
5682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
5692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrev64_f32(float32x2_t a) {
5702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64_f32(a);
5712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_s8
5742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
5752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vrev64q_s8(int8x16_t a) {
5762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_s8(a);
5772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_s16
5802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
5812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vrev64q_s16(int16x8_t a) {
5822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_s16(a);
5832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_s32
5862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
5872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vrev64q_s32(int32x4_t a) {
5882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_s32(a);
5892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_u8
5922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
5932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vrev64q_u8(uint8x16_t a) {
5942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_u8(a);
5952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
5962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
5972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_u16
5982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
5992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vrev64q_u16(uint16x8_t a) {
6002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_u16(a);
6012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_u32
6042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
6052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vrev64q_u32(uint32x4_t a) {
6062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_u32(a);
6072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_p8
6102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
6112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vrev64q_p8(poly8x16_t a) {
6122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_p8(a);
6132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_p16
6162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
6172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly16x8_t test_vrev64q_p16(poly16x8_t a) {
6182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_p16(a);
6192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: test_vrev64q_f32
6222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin// CHECK: rev64 v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
6232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrev64q_f32(float32x4_t a) {
6242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrev64q_f32(a);
6252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vpaddl_s8(int8x8_t a) {
6282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_s8
6292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_s8(a);
6302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
6312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vpaddl_s16(int16x4_t a) {
6342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_s16
6352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_s16(a);
6362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
6372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x1_t test_vpaddl_s32(int32x2_t a) {
6402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_s32
6412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_s32(a);
6422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
6432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vpaddl_u8(uint8x8_t a) {
6462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_u8
6472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_u8(a);
6482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
6492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vpaddl_u16(uint16x4_t a) {
6522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_u16
6532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_u16(a);
6542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
6552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x1_t test_vpaddl_u32(uint32x2_t a) {
6582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddl_u32
6592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddl_u32(a);
6602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
6612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vpaddlq_s8(int8x16_t a) {
6642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_s8
6652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_s8(a);
6662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
6672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vpaddlq_s16(int16x8_t a) {
6702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_s16
6712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_s16(a);
6722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
6732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vpaddlq_s32(int32x4_t a) {
6762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_s32
6772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_s32(a);
6782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: saddlp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
6792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vpaddlq_u8(uint8x16_t a) {
6822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_u8
6832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_u8(a);
6842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
6852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vpaddlq_u16(uint16x8_t a) {
6882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_u16
6892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_u16(a);
6902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
6912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vpaddlq_u32(uint32x4_t a) {
6942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpaddlq_u32
6952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpaddlq_u32(a);
6962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uaddlp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
6972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
6982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
6992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vpadal_s8(int16x4_t a, int8x8_t b) {
7002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_s8
7012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_s8(a, b);
7022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
7032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vpadal_s16(int32x2_t a, int16x4_t b) {
7062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_s16
7072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_s16(a, b);
7082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
7092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x1_t test_vpadal_s32(int64x1_t a, int32x2_t b) {
7122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_s32
7132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_s32(a, b);
7142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
7152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vpadal_u8(uint16x4_t a, uint8x8_t b) {
7182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_u8
7192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_u8(a, b);
7202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.4h, v{{[0-9]+}}.8b
7212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vpadal_u16(uint32x2_t a, uint16x4_t b) {
7242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_u16
7252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_u16(a, b);
7262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.2s, v{{[0-9]+}}.4h
7272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x1_t test_vpadal_u32(uint64x1_t a, uint32x2_t b) {
7302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadal_u32
7312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadal_u32(a, b);
7322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.1d, v{{[0-9]+}}.2s
7332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vpadalq_s8(int16x8_t a, int8x16_t b) {
7362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_s8
7372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_s8(a, b);
7382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
7392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vpadalq_s16(int32x4_t a, int16x8_t b) {
7422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_s16
7432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_s16(a, b);
7442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
7452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vpadalq_s32(int64x2_t a, int32x4_t b) {
7482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_s32
7492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_s32(a, b);
7502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sadalp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
7512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vpadalq_u8(uint16x8_t a, uint8x16_t b) {
7542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_u8
7552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_u8(a, b);
7562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.8h, v{{[0-9]+}}.16b
7572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vpadalq_u16(uint32x4_t a, uint16x8_t b) {
7602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_u16
7612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_u16(a, b);
7622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
7632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vpadalq_u32(uint64x2_t a, uint32x4_t b) {
7662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vpadalq_u32
7672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vpadalq_u32(a, b);
7682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uadalp v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
7692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vqabs_s8(int8x8_t a) {
7722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabs_s8
7732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabs_s8(a);
7742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
7752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vqabsq_s8(int8x16_t a) {
7782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabsq_s8
7792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabsq_s8(a);
7802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
7812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vqabs_s16(int16x4_t a) {
7842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabs_s16
7852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabs_s16(a);
7862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
7872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vqabsq_s16(int16x8_t a) {
7902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabsq_s16
7912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabsq_s16(a);
7922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
7932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
7942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
7952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vqabs_s32(int32x2_t a) {
7962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabs_s32
7972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabs_s32(a);
7982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
7992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vqabsq_s32(int32x4_t a) {
8022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabsq_s32
8032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabsq_s32(a);
8042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
8052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vqabsq_s64(int64x2_t a) {
8082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqabsq_s64
8092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqabsq_s64(a);
8102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqabs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
8112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vqneg_s8(int8x8_t a) {
8142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqneg_s8
8152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqneg_s8(a);
8162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
8172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vqnegq_s8(int8x16_t a) {
8202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqnegq_s8
8212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqnegq_s8(a);
8222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
8232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vqneg_s16(int16x4_t a) {
8262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqneg_s16
8272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqneg_s16(a);
8282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
8292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vqnegq_s16(int16x8_t a) {
8322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqnegq_s16
8332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqnegq_s16(a);
8342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
8352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vqneg_s32(int32x2_t a) {
8382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqneg_s32
8392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqneg_s32(a);
8402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
8412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vqnegq_s32(int32x4_t a) {
8442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqnegq_s32
8452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqnegq_s32(a);
8462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
8472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vqnegq_s64(int64x2_t a) {
8502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqnegq_s64
8512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqnegq_s64(a);
8522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqneg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
8532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vneg_s8(int8x8_t a) {
8562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vneg_s8
8572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vneg_s8(a);
8582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
8592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vnegq_s8(int8x16_t a) {
8622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_s8
8632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_s8(a);
8642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
8652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vneg_s16(int16x4_t a) {
8682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vneg_s16
8692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vneg_s16(a);
8702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
8712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vnegq_s16(int16x8_t a) {
8742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_s16
8752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_s16(a);
8762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
8772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vneg_s32(int32x2_t a) {
8802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vneg_s32
8812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vneg_s32(a);
8822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
8832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vnegq_s32(int32x4_t a) {
8862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_s32
8872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_s32(a);
8882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
8892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vnegq_s64(int64x2_t a) {
8922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_s64
8932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_s64(a);
8942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: neg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
8952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
8962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
8972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vneg_f32(float32x2_t a) {
8982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vneg_f32
8992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vneg_f32(a);
9002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fneg v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
9012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vnegq_f32(float32x4_t a) {
9042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_f32
9052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_f32(a);
9062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fneg v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
9072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vnegq_f64(float64x2_t a) {
9102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vnegq_f64
9112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vnegq_f64(a);
9122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fneg v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
9132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vabs_s8(int8x8_t a) {
9162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabs_s8
9172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabs_s8(a);
9182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
9192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vabsq_s8(int8x16_t a) {
9222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_s8
9232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_s8(a);
9242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
9252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vabs_s16(int16x4_t a) {
9282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabs_s16
9292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabs_s16(a);
9302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
9312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vabsq_s16(int16x8_t a) {
9342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_s16
9352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_s16(a);
9362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
9372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vabs_s32(int32x2_t a) {
9402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabs_s32
9412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabs_s32(a);
9422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
9432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vabsq_s32(int32x4_t a) {
9462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_s32
9472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_s32(a);
9482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
9492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vabsq_s64(int64x2_t a) {
9522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_s64
9532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_s64(a);
9542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: abs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
9552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vabs_f32(float32x2_t a) {
9582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabs_f32
9592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabs_f32(a);
9602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fabs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
9612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vabsq_f32(float32x4_t a) {
9642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_f32
9652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_f32(a);
9662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fabs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
9672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vabsq_f64(float64x2_t a) {
9702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vabsq_f64
9712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vabsq_f64(a);
9722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fabs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
9732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vuqadd_s8(int8x8_t a, int8x8_t b) {
9762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqadd_s8
9772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqadd_s8(a, b);
9782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
9792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vuqaddq_s8(int8x16_t a, int8x16_t b) {
9822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqaddq_s8
9832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqaddq_s8(a, b);
9842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
9852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vuqadd_s16(int16x4_t a, int16x4_t b) {
9882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqadd_s16
9892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqadd_s16(a, b);
9902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
9912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vuqaddq_s16(int16x8_t a, int16x8_t b) {
9942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqaddq_s16
9952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqaddq_s16(a, b);
9962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
9972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
9982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
9992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vuqadd_s32(int32x2_t a, int32x2_t b) {
10002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqadd_s32
10012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqadd_s32(a, b);
10022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
10032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vuqaddq_s32(int32x4_t a, int32x4_t b) {
10062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqaddq_s32
10072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqaddq_s32(a, b);
10082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
10092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vuqaddq_s64(int64x2_t a, int64x2_t b) {
10122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vuqaddq_s64
10132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vuqaddq_s64(a, b);
10142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: suqadd v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
10152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vcls_s8(int8x8_t a) {
10182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcls_s8
10192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcls_s8(a);
10202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
10212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vclsq_s8(int8x16_t a) {
10242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclsq_s8
10252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclsq_s8(a);
10262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
10272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vcls_s16(int16x4_t a) {
10302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcls_s16
10312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcls_s16(a);
10322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
10332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vclsq_s16(int16x8_t a) {
10362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclsq_s16
10372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclsq_s16(a);
10382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
10392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcls_s32(int32x2_t a) {
10422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcls_s32
10432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcls_s32(a);
10442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
10452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vclsq_s32(int32x4_t a) {
10482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclsq_s32
10492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclsq_s32(a);
10502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cls v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
10512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vclz_s8(int8x8_t a) {
10542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_s8
10552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_s8(a);
10562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
10572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vclzq_s8(int8x16_t a) {
10602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_s8
10612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_s8(a);
10622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
10632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vclz_s16(int16x4_t a) {
10662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_s16
10672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_s16(a);
10682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
10692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vclzq_s16(int16x8_t a) {
10722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_s16
10732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_s16(a);
10742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
10752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vclz_s32(int32x2_t a) {
10782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_s32
10792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_s32(a);
10802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
10812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vclzq_s32(int32x4_t a) {
10842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_s32
10852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_s32(a);
10862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
10872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vclz_u8(uint8x8_t a) {
10902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_u8
10912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_u8(a);
10922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
10932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
10942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
10952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vclzq_u8(uint8x16_t a) {
10962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_u8
10972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_u8(a);
10982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
10992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vclz_u16(uint16x4_t a) {
11022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_u16
11032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_u16(a);
11042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.4h, v{{[0-9]+}}.4h
11052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vclzq_u16(uint16x8_t a) {
11082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_u16
11092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_u16(a);
11102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.8h, v{{[0-9]+}}.8h
11112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vclz_u32(uint32x2_t a) {
11142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclz_u32
11152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclz_u32(a);
11162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
11172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vclzq_u32(uint32x4_t a) {
11202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vclzq_u32
11212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vclzq_u32(a);
11222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: clz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
11232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vcnt_s8(int8x8_t a) {
11262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcnt_s8
11272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcnt_s8(a);
11282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vcntq_s8(int8x16_t a) {
11322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcntq_s8
11332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcntq_s8(a);
11342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vcnt_u8(uint8x8_t a) {
11382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcnt_u8
11392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcnt_u8(a);
11402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vcntq_u8(uint8x16_t a) {
11442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcntq_u8
11452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcntq_u8(a);
11462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vcnt_p8(poly8x8_t a) {
11502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcnt_p8
11512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcnt_p8(a);
11522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vcntq_p8(poly8x16_t a) {
11562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vcntq_p8
11572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcntq_p8(a);
11582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: cnt v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vmvn_s8(int8x8_t a) {
11622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_s8
11632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_s8(a);
11642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vmvnq_s8(int8x16_t a) {
11682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_s8
11692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_s8(a);
11702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vmvn_s16(int16x4_t a) {
11742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_s16
11752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_s16(a);
11762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vmvnq_s16(int16x8_t a) {
11802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_s16
11812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_s16(a);
11822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vmvn_s32(int32x2_t a) {
11862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_s32
11872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_s32(a);
11882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
11892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vmvnq_s32(int32x4_t a) {
11922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_s32
11932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_s32(a);
11942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
11952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
11962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
11972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vmvn_u8(uint8x8_t a) {
11982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_u8
11992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_u8(a);
12002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vmvnq_u8(uint8x16_t a) {
12042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_u8
12052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_u8(a);
12062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vmvn_u16(uint16x4_t a) {
12102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_u16
12112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_u16(a);
12122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vmvnq_u16(uint16x8_t a) {
12162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_u16
12172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_u16(a);
12182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vmvn_u32(uint32x2_t a) {
12222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_u32
12232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_u32(a);
12242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vmvnq_u32(uint32x4_t a) {
12282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_u32
12292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_u32(a);
12302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vmvn_p8(poly8x8_t a) {
12342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvn_p8
12352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvn_p8(a);
12362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vmvnq_p8(poly8x16_t a) {
12402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmvnq_p8
12412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmvnq_p8(a);
12422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: not v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vrbit_s8(int8x8_t a) {
12462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbit_s8
12472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbit_s8(a);
12482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vrbitq_s8(int8x16_t a) {
12522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbitq_s8
12532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbitq_s8(a);
12542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vrbit_u8(uint8x8_t a) {
12582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbit_u8
12592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbit_u8(a);
12602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vrbitq_u8(uint8x16_t a) {
12642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbitq_u8
12652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbitq_u8(a);
12662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x8_t test_vrbit_p8(poly8x8_t a) {
12702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbit_p8
12712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbit_p8(a);
12722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.8b, v{{[0-9]+}}.8b
12732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinpoly8x16_t test_vrbitq_p8(poly8x16_t a) {
12762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vrbitq_p8
12772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrbitq_p8(a);
12782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: rbit v{{[0-9]+}}.16b, v{{[0-9]+}}.16b
12792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vmovn_s16(int16x8_t a) {
12822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_s16
12832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_s16(a);
12842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
12852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vmovn_s32(int32x4_t a) {
12882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_s32
12892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_s32(a);
12902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
12912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vmovn_s64(int64x2_t a) {
12942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_s64
12952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_s64(a);
12962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
12972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
12982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
12992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vmovn_u16(uint16x8_t a) {
13002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_u16
13012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_u16(a);
13022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
13032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vmovn_u32(uint32x4_t a) {
13062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_u32
13072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_u32(a);
13082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
13092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vmovn_u64(uint64x2_t a) {
13122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_u64
13132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_u64(a);
13142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
13152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vmovn_high_s16(int8x8_t a, int16x8_t b) {
13182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_s16
13192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_s16(a, b);
13202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
13212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vmovn_high_s32(int16x4_t a, int32x4_t b) {
13242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_s32
13252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_s32(a, b);
13262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
13272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vmovn_high_s64(int32x2_t a, int64x2_t b) {
13302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_s64
13312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_s64(a, b);
13322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
13332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vmovn_high_u16(int8x8_t a, int16x8_t b) {
13362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_u16
13372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_u16(a, b);
13382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
13392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vmovn_high_u32(int16x4_t a, int32x4_t b) {
13422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_u32
13432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_u32(a, b);
13442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
13452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vmovn_high_u64(int32x2_t a, int64x2_t b) {
13482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vmovn_high_u64
13492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vmovn_high_u64(a, b);
13502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: xtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
13512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vqmovun_s16(int16x8_t a) {
13542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_s16
13552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_s16(a);
13562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
13572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vqmovun_s32(int32x4_t a) {
13602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_s32
13612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_s32(a);
13622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
13632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vqmovun_s64(int64x2_t a) {
13662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_s64
13672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_s64(a);
13682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
13692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vqmovun_high_s16(int8x8_t a, int16x8_t b) {
13722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_high_s16
13732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_high_s16(a, b);
13742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
13752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vqmovun_high_s32(int16x4_t a, int32x4_t b) {
13782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_high_s32
13792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_high_s32(a, b);
13802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
13812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vqmovun_high_s64(int32x2_t a, int64x2_t b) {
13842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovun_high_s64
13852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovun_high_s64(a, b);
13862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtun2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
13872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x8_t test_vqmovn_s16(int16x8_t a) {
13902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_s16
13912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_s16(a);
13922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
13932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
13942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
13952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x4_t test_vqmovn_s32(int32x4_t a) {
13962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_s32
13972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_s32(a);
13982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
13992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vqmovn_s64(int64x2_t a) {
14022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_s64
14032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_s64(a);
14042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
14052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint8x16_t test_vqmovn_high_s16(int8x8_t a, int16x8_t b) {
14082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_s16
14092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_s16(a, b);
14102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
14112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vqmovn_high_s32(int16x4_t a, int32x4_t b) {
14142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_s32
14152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_s32(a, b);
14162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
14172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vqmovn_high_s64(int32x2_t a, int64x2_t b) {
14202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_s64
14212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_s64(a, b);
14222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: sqxtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
14232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x8_t test_vqmovn_u16(uint16x8_t a) {
14262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_u16
14272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_u16(a);
14282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn v{{[0-9]+}}.8b, v{{[0-9]+}}.8h
14292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x4_t test_vqmovn_u32(uint32x4_t a) {
14322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_u32
14332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_u32(a);
14342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
14352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vqmovn_u64(uint64x2_t a) {
14382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_u64
14392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_u64(a);
14402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
14412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint8x16_t test_vqmovn_high_u16(uint8x8_t a, uint16x8_t b) {
14442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_u16
14452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_u16(a, b);
14462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn2 v{{[0-9]+}}.16b, v{{[0-9]+}}.8h
14472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vqmovn_high_u32(uint16x4_t a, uint32x4_t b) {
14502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_u32
14512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_u32(a, b);
14522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
14532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vqmovn_high_u64(uint32x2_t a, uint64x2_t b) {
14562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vqmovn_high_u64
14572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vqmovn_high_u64(a, b);
14582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: uqxtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
14592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vshll_n_s8(int8x8_t a) {
14622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_s8
14632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_s8(a, 8);
14642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.8h, {{v[0-9]+}}.8b, #8
14652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vshll_n_s16(int16x4_t a) {
14682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_s16
14692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_s16(a, 16);
14702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, #16
14712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vshll_n_s32(int32x2_t a) {
14742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_s32
14752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_s32(a, 32);
14762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.2d, {{v[0-9]+}}.2s, #32
14772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vshll_n_u8(uint8x8_t a) {
14802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_u8
14812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_u8(a, 8);
14822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.8h, {{v[0-9]+}}.8b, #8
14832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vshll_n_u16(uint16x4_t a) {
14862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_u16
14872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_u16(a, 16);
14882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.4s, {{v[0-9]+}}.4h, #16
14892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vshll_n_u32(uint32x2_t a) {
14922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_n_u32
14932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_n_u32(a, 32);
14942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll {{v[0-9]+}}.2d, {{v[0-9]+}}.2s, #32
14952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
14962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
14972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint16x8_t test_vshll_high_n_s8(int8x16_t a) {
14982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_s8
14992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_s8(a, 8);
15002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.8h, {{v[0-9]+}}.16b, #8
15012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vshll_high_n_s16(int16x8_t a) {
15042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_s16
15052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_s16(a, 16);
15062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.4s, {{v[0-9]+}}.8h, #16
15072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vshll_high_n_s32(int32x4_t a) {
15102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_s32
15112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_s32(a, 32);
15122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.2d, {{v[0-9]+}}.4s, #32
15132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint16x8_t test_vshll_high_n_u8(uint8x16_t a) {
15162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_u8
15172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_u8(a, 8);
15182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.8h, {{v[0-9]+}}.16b, #8
15192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vshll_high_n_u16(uint16x8_t a) {
15222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_u16
15232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_u16(a, 16);
15242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.4s, {{v[0-9]+}}.8h, #16
15252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vshll_high_n_u32(uint32x4_t a) {
15282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: test_vshll_high_n_u32
15292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vshll_high_n_u32(a, 32);
15302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: shll2 {{v[0-9]+}}.2d, {{v[0-9]+}}.4s, #32
15312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat16x4_t test_vcvt_f16_f32(float32x4_t a) {
15342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f16_f32
15352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f16_f32(a);
15362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtn v{{[0-9]+}}.4h, v{{[0-9]+}}.4s
15372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat16x8_t test_vcvt_high_f16_f32(float16x4_t a, float32x4_t b) {
15402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_high_f16_f32
15412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_high_f16_f32(a, b);
15422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtn2 v{{[0-9]+}}.8h, v{{[0-9]+}}.4s
15432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vcvt_f32_f64(float64x2_t a) {
15462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f32_f64
15472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f32_f64(a);
15482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
15492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvt_high_f32_f64(float32x2_t a, float64x2_t b) {
15522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_high_f32_f64
15532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_high_f32_f64(a, b);
15542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
15552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vcvtx_f32_f64(float64x2_t a) {
15582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtx_f32_f64
15592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtx_f32_f64(a);
15602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtxn v{{[0-9]+}}.2s, v{{[0-9]+}}.2d
15612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvtx_high_f32_f64(float32x2_t a, float64x2_t b) {
15642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtx_high_f32_f64
15652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtx_high_f32_f64(a, b);
15662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtxn2 v{{[0-9]+}}.4s, v{{[0-9]+}}.2d
15672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvt_f32_f16(float16x4_t a) {
15702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f32_f16
15712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f32_f16(a);
15722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtl v{{[0-9]+}}.4s, v{{[0-9]+}}.4h
15732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvt_high_f32_f16(float16x8_t a) {
15762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_high_f32_f16
15772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_high_f32_f16(a);
15782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtl2 v{{[0-9]+}}.4s, v{{[0-9]+}}.8h
15792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vcvt_f64_f32(float32x2_t a) {
15822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f64_f32
15832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f64_f32(a);
15842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtl v{{[0-9]+}}.2d, v{{[0-9]+}}.2s
15852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vcvt_high_f64_f32(float32x4_t a) {
15882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_high_f64_f32
15892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_high_f64_f32(a);
15902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtl2 v{{[0-9]+}}.2d, v{{[0-9]+}}.4s
15912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrndn_f32(float32x2_t a) {
15942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndn_f32
15952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndn_f32(a);
15962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintn v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
15972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
15982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
15992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndnq_f32(float32x4_t a) {
16002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndnq_f32
16012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndnq_f32(a);
16022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintn v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndnq_f64(float64x2_t a) {
16062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndnq_f64
16072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndnq_f64(a);
16082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintn v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrnda_f32(float32x2_t a) {
16122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrnda_f32
16132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrnda_f32(a);
16142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinta v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
16152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndaq_f32(float32x4_t a) {
16182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndaq_f32
16192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndaq_f32(a);
16202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinta v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndaq_f64(float64x2_t a) {
16242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndaq_f64
16252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndaq_f64(a);
16262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinta v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrndp_f32(float32x2_t a) {
16302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndp_f32
16312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndp_f32(a);
16322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintp v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
16332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndpq_f32(float32x4_t a) {
16362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndpq_f32
16372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndpq_f32(a);
16382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintp v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndpq_f64(float64x2_t a) {
16422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndpq_f64
16432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndpq_f64(a);
16442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintp v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrndm_f32(float32x2_t a) {
16482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndm_f32
16492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndm_f32(a);
16502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintm v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
16512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndmq_f32(float32x4_t a) {
16542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndmq_f32
16552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndmq_f32(a);
16562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintm v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndmq_f64(float64x2_t a) {
16602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndmq_f64
16612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndmq_f64(a);
16622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintm v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrndx_f32(float32x2_t a) {
16662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndx_f32
16672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndx_f32(a);
16682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintx v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
16692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndxq_f32(float32x4_t a) {
16722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndxq_f32
16732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndxq_f32(a);
16742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintx v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndxq_f64(float64x2_t a) {
16782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndxq_f64
16792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndxq_f64(a);
16802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintx v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrnd_f32(float32x2_t a) {
16842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrnd_f32
16852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrnd_f32(a);
16862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintz v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
16872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndq_f32(float32x4_t a) {
16902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndq_f32
16912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndq_f32(a);
16922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintz v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
16932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
16942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
16952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndq_f64(float64x2_t a) {
16962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndq_f64
16972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndq_f64(a);
16982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frintz v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
16992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrndi_f32(float32x2_t a) {
17022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndi_f32
17032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndi_f32(a);
17042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinti v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrndiq_f32(float32x4_t a) {
17082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndiq_f32
17092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndiq_f32(a);
17102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinti v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
17112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrndiq_f64(float64x2_t a) {
17142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrndiq_f64
17152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrndiq_f64(a);
17162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frinti v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
17172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcvt_s32_f32(float32x2_t a) {
17202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_s32_f32
17212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_s32_f32(a);
17222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzs v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vcvtq_s32_f32(float32x4_t a) {
17262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_s32_f32
17272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_s32_f32(a);
17282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzs v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
17292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vcvtq_s64_f64(float64x2_t a) {
17322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_s64_f64
17332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_s64_f64(a);
17342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzs v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
17352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcvt_u32_f32(float32x2_t a) {
17382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_u32_f32
17392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_u32_f32(a);
17402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcvtq_u32_f32(float32x4_t a) {
17442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_u32_f32
17452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_u32_f32(a);
17462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
17472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcvtq_u64_f64(float64x2_t a) {
17502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_u64_f64
17512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_u64_f64(a);
17522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtzu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
17532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcvtn_s32_f32(float32x2_t a) {
17562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtn_s32_f32
17572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtn_s32_f32(a);
17582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtns v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vcvtnq_s32_f32(float32x4_t a) {
17622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtnq_s32_f32
17632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtnq_s32_f32(a);
17642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtns v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
17652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vcvtnq_s64_f64(float64x2_t a) {
17682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtnq_s64_f64
17692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtnq_s64_f64(a);
17702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtns v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
17712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcvtn_u32_f32(float32x2_t a) {
17742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtn_u32_f32
17752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtn_u32_f32(a);
17762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtnu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcvtnq_u32_f32(float32x4_t a) {
17802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtnq_u32_f32
17812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtnq_u32_f32(a);
17822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtnu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
17832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcvtnq_u64_f64(float64x2_t a) {
17862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtnq_u64_f64
17872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtnq_u64_f64(a);
17882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtnu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
17892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcvtp_s32_f32(float32x2_t a) {
17922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtp_s32_f32
17932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtp_s32_f32(a);
17942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtps v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
17952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
17962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
17972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vcvtpq_s32_f32(float32x4_t a) {
17982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtpq_s32_f32
17992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtpq_s32_f32(a);
18002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtps v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vcvtpq_s64_f64(float64x2_t a) {
18042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtpq_s64_f64
18052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtpq_s64_f64(a);
18062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtps v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcvtp_u32_f32(float32x2_t a) {
18102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtp_u32_f32
18112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtp_u32_f32(a);
18122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtpu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
18132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcvtpq_u32_f32(float32x4_t a) {
18162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtpq_u32_f32
18172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtpq_u32_f32(a);
18182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtpu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcvtpq_u64_f64(float64x2_t a) {
18222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtpq_u64_f64
18232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtpq_u64_f64(a);
18242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtpu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcvtm_s32_f32(float32x2_t a) {
18282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtm_s32_f32
18292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtm_s32_f32(a);
18302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtms v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
18312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vcvtmq_s32_f32(float32x4_t a) {
18342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtmq_s32_f32
18352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtmq_s32_f32(a);
18362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtms v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vcvtmq_s64_f64(float64x2_t a) {
18402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtmq_s64_f64
18412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtmq_s64_f64(a);
18422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtms v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcvtm_u32_f32(float32x2_t a) {
18462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtm_u32_f32
18472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtm_u32_f32(a);
18482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtmu v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
18492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcvtmq_u32_f32(float32x4_t a) {
18522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtmq_u32_f32
18532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtmq_u32_f32(a);
18542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtmu v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcvtmq_u64_f64(float64x2_t a) {
18582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtmq_u64_f64
18592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtmq_u64_f64(a);
18602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtmu v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x2_t test_vcvta_s32_f32(float32x2_t a) {
18642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvta_s32_f32
18652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvta_s32_f32(a);
18662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtas v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
18672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint32x4_t test_vcvtaq_s32_f32(float32x4_t a) {
18702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtaq_s32_f32
18712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtaq_s32_f32(a);
18722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtas v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinint64x2_t test_vcvtaq_s64_f64(float64x2_t a) {
18762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtaq_s64_f64
18772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtaq_s64_f64(a);
18782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtas v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vcvta_u32_f32(float32x2_t a) {
18822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvta_u32_f32
18832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvta_u32_f32(a);
18842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtau v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
18852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vcvtaq_u32_f32(float32x4_t a) {
18882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtaq_u32_f32
18892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtaq_u32_f32(a);
18902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtau v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
18912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint64x2_t test_vcvtaq_u64_f64(float64x2_t a) {
18942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtaq_u64_f64
18952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtaq_u64_f64(a);
18962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fcvtau v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
18972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
18982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
18992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrsqrte_f32(float32x2_t a) {
19002a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrsqrte_f32
19012a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrsqrte_f32(a);
19022a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frsqrte v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19032a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19042a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19052a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrsqrteq_f32(float32x4_t a) {
19062a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrsqrteq_f32
19072a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrsqrteq_f32(a);
19082a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frsqrte v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19092a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19102a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19112a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrsqrteq_f64(float64x2_t a) {
19122a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrsqrteq_f64
19132a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrsqrteq_f64(a);
19142a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frsqrte v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
19152a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19162a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19172a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vrecpe_f32(float32x2_t a) {
19182a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrecpe_f32
19192a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrecpe_f32(a);
19202a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frecpe v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19212a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19222a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19232a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vrecpeq_f32(float32x4_t a) {
19242a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrecpeq_f32
19252a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrecpeq_f32(a);
19262a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frecpe v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19272a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19282a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19292a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vrecpeq_f64(float64x2_t a) {
19302a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrecpeq_f64
19312a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrecpeq_f64(a);
19322a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: frecpe v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
19332a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19342a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19352a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x2_t test_vrecpe_u32(uint32x2_t a) {
19362a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrecpe_u32
19372a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrecpe_u32(a);
19382a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: urecpe v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19392a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19402a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19412a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinuint32x4_t test_vrecpeq_u32(uint32x4_t a) {
19422a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vrecpeq_u32
19432a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vrecpeq_u32(a);
19442a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: urecpe v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19452a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19462a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19472a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vsqrt_f32(float32x2_t a) {
19482a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vsqrt_f32
19492a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vsqrt_f32(a);
19502a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fsqrt v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19512a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19522a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19532a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vsqrtq_f32(float32x4_t a) {
19542a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vsqrtq_f32
19552a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vsqrtq_f32(a);
19562a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fsqrt v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19572a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19582a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19592a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vsqrtq_f64(float64x2_t a) {
19602a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vsqrtq_f64
19612a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vsqrtq_f64(a);
19622a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  // CHECK: fsqrt v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
19632a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19642a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19652a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vcvt_f32_s32(int32x2_t a) {
19662a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f32_s32
19672a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f32_s32(a);
19682a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: scvtf v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19692a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19702a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19712a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x2_t test_vcvt_f32_u32(uint32x2_t a) {
19722a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvt_f32_u32
19732a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvt_f32_u32(a);
19742a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: ucvtf v{{[0-9]+}}.2s, v{{[0-9]+}}.2s
19752a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19762a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19772a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvtq_f32_s32(int32x4_t a) {
19782a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_f32_s32
19792a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_f32_s32(a);
19802a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: scvtf v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19812a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19822a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19832a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat32x4_t test_vcvtq_f32_u32(uint32x4_t a) {
19842a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_f32_u32
19852a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_f32_u32(a);
19862a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: ucvtf v{{[0-9]+}}.4s, v{{[0-9]+}}.4s
19872a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19882a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19892a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vcvtq_f64_s64(int64x2_t a) {
19902a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_f64_s64
19912a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_f64_s64(a);
19922a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: scvtf v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
19932a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
19942a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin
19952a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qinfloat64x2_t test_vcvtq_f64_u64(uint64x2_t a) {
19962a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: test_vcvtq_f64_u64
19972a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  return vcvtq_f64_u64(a);
19982a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin  //CHECK: ucvtf v{{[0-9]+}}.2d, v{{[0-9]+}}.2d
19992a2b69b488134b6eb54f6e9ee8ebcc50a806e6b1Kevin Qin}
2000