arm64-scalar-test.c revision c568f1e98938584c0ef0b12ae5018ff7d90a4072
1c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines// REQUIRES: aarch64-registered-target 26bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon \ 3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: -S -O1 -o - -ffreestanding %s | FileCheck %s 4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// We're explicitly using arm_neon.h here: some types probably don't match 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// the ACLE definitions, but we want to check current codegen. 7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include <arm_neon.h> 8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat test_vrsqrtss_f32(float a, float b) { 10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrsqrtss_f32 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrsqrtss_f32(a, b); 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: frsqrts {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesdouble test_vrsqrtsd_f64(double a, double b) { 16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrsqrtsd_f64 17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrsqrtsd_f64(a, b); 18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: frsqrts {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1_t test_vrshl_s64(int64x1_t a, int64x1_t b) { 22651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrshl_s64 23651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrshl_s64(a, b); 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: srshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 25651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 26651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 27651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1_t test_vrshl_u64(uint64x1_t a, int64x1_t b) { 28651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrshl_u64 29651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrshl_u64(a, b); 30651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: urshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 31651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 32651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 33651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrshld_s64 34651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vrshld_s64(int64_t a, int64_t b) { 35651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrshld_s64(a, b); 36651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: srshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 37651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 38651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 39651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vrshld_u64 40651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vrshld_u64(uint64_t a, uint64_t b) { 41651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vrshld_u64(a, b); 42651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: urshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 43651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 44651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 45651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshlb_s8 46651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqrshlb_s8(int8_t a, int8_t b) { 47651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshlb_s8(a, b); 48651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqrshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 49651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 50651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 51651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshlh_s16 52651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqrshlh_s16(int16_t a, int16_t b) { 53651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshlh_s16(a, b); 54651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqrshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 55651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 56651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 57651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshls_s32 58651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqrshls_s32(int32_t a, int32_t b) { 59651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshls_s32(a, b); 60651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqrshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 61651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 62651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 63651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshld_s64 64651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqrshld_s64(int64_t a, int64_t b) { 65651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshld_s64(a, b); 66651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqrshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 67651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 68651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 69651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshlb_u8 70651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8_t test_vqrshlb_u8(uint8_t a, uint8_t b) { 71651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshlb_u8(a, b); 72651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqrshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 73651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 74651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 75651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshlh_u16 76651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16_t test_vqrshlh_u16(uint16_t a, uint16_t b) { 77651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshlh_u16(a, b); 78651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqrshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 79651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 80651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 81651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshls_u32 82651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vqrshls_u32(uint32_t a, uint32_t b) { 83651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshls_u32(a, b); 84651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqrshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 85651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 86651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 87651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqrshld_u64 88651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vqrshld_u64(uint64_t a, uint64_t b) { 89651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqrshld_u64(a, b); 90651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqrshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 91651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 92651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 93651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshlb_s8 94651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqshlb_s8(int8_t a, int8_t b) { 95651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshlb_s8(a, b); 96651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 97651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 98651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 99651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshlh_s16 100651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqshlh_s16(int16_t a, int16_t b) { 101651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshlh_s16(a, b); 102651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 103651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 104651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 105651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshls_s32 106651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqshls_s32(int32_t a, int32_t b) { 107651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshls_s32(a, b); 108651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 109651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 110651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 111651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshld_s64 112651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqshld_s64(int64_t a, int64_t b) { 113651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshld_s64(a, b); 114651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 115651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 116651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 1176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: test_vqshld_s64_i 1186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesint64_t test_vqshld_s64_i(int64_t a) { 1196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines return vqshld_s64(a, 36); 1206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, #36 1216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 1226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 123651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshlb_u8 124651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8_t test_vqshlb_u8(uint8_t a, uint8_t b) { 125651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshlb_u8(a, b); 126651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqshl.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 127651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 128651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 129651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshlh_u16 130651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16_t test_vqshlh_u16(uint16_t a, uint16_t b) { 131651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshlh_u16(a, b); 132651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqshl.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 133651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 134651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 135651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshls_u32 136651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vqshls_u32(uint32_t a, uint32_t b) { 137651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshls_u32(a, b); 138651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqshl {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 139651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 140651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 141651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqshld_u64 142651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vqshld_u64(uint64_t a, uint64_t b) { 143651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqshld_u64(a, b); 144651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 145651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 146651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 1476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: test_vqshld_u64_i 1486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesuint64_t test_vqshld_u64_i(uint64_t a) { 1496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines return vqshld_u64(a, 36); 1506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, #36 1516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 1526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 153651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vshld_u64 154651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vshld_u64(uint64_t a, uint64_t b) { 155651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vshld_u64(a, b); 156651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: ushl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 157651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 158651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 159651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vshld_s64 160651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vshld_s64(int64_t a, int64_t b) { 161651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vshld_s64(a, b); 162651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 163651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 164651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 165651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqdmullh_s16 166651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqdmullh_s16(int16_t a, int16_t b) { 167651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqdmullh_s16(a, b); 168651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqdmull.4s {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 169651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 170651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 171651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqdmulls_s32 172651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqdmulls_s32(int32_t a, int32_t b) { 173651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqdmulls_s32(a, b); 174651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqdmull {{d[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 175651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 176651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 177651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddb_s8 178651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqaddb_s8(int8_t a, int8_t b) { 179651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddb_s8(a, b); 180651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqadd.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 181651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 182651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 183651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddh_s16 184651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqaddh_s16(int16_t a, int16_t b) { 185651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddh_s16(a, b); 186651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqadd.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 187651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 188651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 189651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqadds_s32 190651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqadds_s32(int32_t a, int32_t b) { 191651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqadds_s32(a, b); 192651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqadd {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 193651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 194651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 195651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddd_s64 196651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqaddd_s64(int64_t a, int64_t b) { 197651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddd_s64(a, b); 198651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqadd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 199651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 200651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 201651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddb_u8 202651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8_t test_vqaddb_u8(uint8_t a, uint8_t b) { 203651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddb_u8(a, b); 204651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqadd.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 205651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 206651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 207651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddh_u16 208651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16_t test_vqaddh_u16(uint16_t a, uint16_t b) { 209651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddh_u16(a, b); 210651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqadd.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 211651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 212651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 213651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqadds_u32 214651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vqadds_u32(uint32_t a, uint32_t b) { 215651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqadds_u32(a, b); 216651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqadd {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 217651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 218651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 219651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqaddd_u64 220651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vqaddd_u64(uint64_t a, uint64_t b) { 221651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqaddd_u64(a, b); 222651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqadd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 223651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 224651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 225651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubb_s8 226651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqsubb_s8(int8_t a, int8_t b) { 227651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubb_s8(a, b); 228651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqsub.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 229651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 230651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 231651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubh_s16 232651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqsubh_s16(int16_t a, int16_t b) { 233651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubh_s16(a, b); 234651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqsub.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 235651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 236651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 237651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubs_s32 238651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqsubs_s32(int32_t a, int32_t b) { 239651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubs_s32(a, b); 240651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqsub {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 241651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 242651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 243651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubd_s64 244651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqsubd_s64(int64_t a, int64_t b) { 245651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubd_s64(a, b); 246651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqsub {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 247651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 248651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 249651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubb_u8 250651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8_t test_vqsubb_u8(uint8_t a, uint8_t b) { 251651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubb_u8(a, b); 252651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqsub.8b {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 253651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 254651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 255651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubh_u16 256651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16_t test_vqsubh_u16(uint16_t a, uint16_t b) { 257651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubh_u16(a, b); 258651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqsub.4h {{v[0-9]+}}, {{v[0-9]+}}, {{v[0-9]+}} 259651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 260651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 261651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubs_u32 262651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vqsubs_u32(uint32_t a, uint32_t b) { 263651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubs_u32(a, b); 264651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqsub {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}} 265651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 266651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 267651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqsubd_u64 268651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vqsubd_u64(uint64_t a, uint64_t b) { 269651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqsubd_u64(a, b); 270651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqsub {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} 271651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 272651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 273651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovnh_s16 274651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqmovnh_s16(int16_t a) { 275651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovnh_s16(a); 276651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtn.8b {{v[0-9]+}}, {{v[0-9]+}} 277651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 278651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 279651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovnh_u16 280651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8_t test_vqmovnh_u16(uint16_t a) { 281651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovnh_u16(a); 282651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqxtn.8b {{v[0-9]+}}, {{v[0-9]+}} 283651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 284651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 285651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovns_s32 286651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqmovns_s32(int32_t a) { 287651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovns_s32(a); 288651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtn.4h {{v[0-9]+}}, {{v[0-9]+}} 289651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 290651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 291651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovns_u32 292651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16_t test_vqmovns_u32(uint32_t a) { 293651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovns_u32(a); 294651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqxtn.4h {{v[0-9]+}}, {{v[0-9]+}} 295651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 296651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 297651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovnd_s64 298651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqmovnd_s64(int64_t a) { 299651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovnd_s64(a); 300651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtn {{s[0-9]+}}, {{d[0-9]+}} 301651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 302651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 303651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovnd_u64 304651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vqmovnd_u64(uint64_t a) { 305651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovnd_u64(a); 306651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: uqxtn {{s[0-9]+}}, {{d[0-9]+}} 307651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 308651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 309651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovunh_s16 310651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqmovunh_s16(int16_t a) { 311651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovunh_s16(a); 312651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtun.8b {{v[0-9]+}}, {{v[0-9]+}} 313651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 314651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 315651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovuns_s32 316651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqmovuns_s32(int32_t a) { 317651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovuns_s32(a); 318651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtun.4h {{v[0-9]+}}, {{v[0-9]+}} 319651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 320651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 321651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqmovund_s64 322651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqmovund_s64(int64_t a) { 323651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqmovund_s64(a); 324651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqxtun {{s[0-9]+}}, {{d[0-9]+}} 325651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 326651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 327651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqabsb_s8 328651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqabsb_s8(int8_t a) { 329651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqabsb_s8(a); 330651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqabs.8b {{v[0-9]+}}, {{v[0-9]+}} 331651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 332651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 333651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqabsh_s16 334651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqabsh_s16(int16_t a) { 335651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqabsh_s16(a); 336651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqabs.4h {{v[0-9]+}}, {{v[0-9]+}} 337651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 338651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 339651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqabss_s32 340651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqabss_s32(int32_t a) { 341651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqabss_s32(a); 342651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqabs {{s[0-9]+}}, {{s[0-9]+}} 343651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 344651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 345651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqabsd_s64 346651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqabsd_s64(int64_t a) { 347651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqabsd_s64(a); 348651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqabs {{d[0-9]+}}, {{d[0-9]+}} 349651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 350651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 351651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqnegb_s8 352651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8_t test_vqnegb_s8(int8_t a) { 353651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqnegb_s8(a); 354651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqneg.8b {{v[0-9]+}}, {{v[0-9]+}} 355651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 356651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 357651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqnegh_s16 358651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16_t test_vqnegh_s16(int16_t a) { 359651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqnegh_s16(a); 360651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqneg.4h {{v[0-9]+}}, {{v[0-9]+}} 361651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 362651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 363651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqnegs_s32 364651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vqnegs_s32(int32_t a) { 365651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqnegs_s32(a); 366651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqneg {{s[0-9]+}}, {{s[0-9]+}} 367651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 368651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 369651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vqnegd_s64 370651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vqnegd_s64(int64_t a) { 371651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vqnegd_s64(a); 372651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: sqneg {{d[0-9]+}}, {{d[0-9]+}} 373651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 374651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 375651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvts_n_f32_s32 376651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32_t test_vcvts_n_f32_s32(int32_t a) { 377651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvts_n_f32_s32(a, 3); 378651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: scvtf {{s[0-9]+}}, {{s[0-9]+}}, #3 379651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 380651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 381651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvts_n_f32_u32 382651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32_t test_vcvts_n_f32_u32(uint32_t a) { 383651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvts_n_f32_u32(a, 3); 384651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: ucvtf {{s[0-9]+}}, {{s[0-9]+}}, #3 385651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 386651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 387651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtd_n_f64_s64 388651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64_t test_vcvtd_n_f64_s64(int64_t a) { 389651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtd_n_f64_s64(a, 3); 390651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: scvtf {{d[0-9]+}}, {{d[0-9]+}}, #3 391651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 392651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 393651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtd_n_f64_u64 394651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64_t test_vcvtd_n_f64_u64(uint64_t a) { 395651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtd_n_f64_u64(a, 3); 396651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: ucvtf {{d[0-9]+}}, {{d[0-9]+}}, #3 397651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 398651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 399651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvts_n_s32_f32 400651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vcvts_n_s32_f32(float32_t a) { 401651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvts_n_s32_f32(a, 3); 402651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtzs {{s[0-9]+}}, {{s[0-9]+}}, #3 403651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 404651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 405651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvts_n_u32_f32 406651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vcvts_n_u32_f32(float32_t a) { 407651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvts_n_u32_f32(a, 3); 408651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtzu {{s[0-9]+}}, {{s[0-9]+}}, #3 409651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 410651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 411651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtd_n_s64_f64 412651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vcvtd_n_s64_f64(float64_t a) { 413651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtd_n_s64_f64(a, 3); 414651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtzs {{d[0-9]+}}, {{d[0-9]+}}, #3 415651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 416651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 417651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtd_n_u64_f64 418651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vcvtd_n_u64_f64(float64_t a) { 419651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtd_n_u64_f64(a, 3); 420651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtzu {{d[0-9]+}}, {{d[0-9]+}}, #3 421651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 422651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 423651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtas_s32_f32 424651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vcvtas_s32_f32(float32_t a) { 425651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtas_s32_f32(a); 426651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtas {{w[0-9]+}}, {{s[0-9]+}} 427651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 428651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 429651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtas_u32_f32 430651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vcvtas_u32_f32(float32_t a) { 431651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtas_u32_f32(a); 432651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtau {{w[0-9]+}}, {{s[0-9]+}} 433651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 434651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 435651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtad_s64_f64 436651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vcvtad_s64_f64(float64_t a) { 437651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtad_s64_f64(a); 438651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtas {{x[0-9]+}}, {{d[0-9]+}} 439651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 440651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 441651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtad_u64_f64 442651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vcvtad_u64_f64(float64_t a) { 443651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtad_u64_f64(a); 444651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtau {{x[0-9]+}}, {{d[0-9]+}} 445651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 446651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 447651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtms_s32_f32 448651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vcvtms_s32_f32(float32_t a) { 449651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtms_s32_f32(a); 450651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtms {{w[0-9]+}}, {{s[0-9]+}} 451651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 452651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 453651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtms_u32_f32 454651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vcvtms_u32_f32(float32_t a) { 455651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtms_u32_f32(a); 456651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtmu {{w[0-9]+}}, {{s[0-9]+}} 457651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 458651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 459651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtmd_s64_f64 460651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vcvtmd_s64_f64(float64_t a) { 461651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtmd_s64_f64(a); 462651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtms {{x[0-9]+}}, {{d[0-9]+}} 463651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 464651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 465651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtmd_u64_f64 466651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vcvtmd_u64_f64(float64_t a) { 467651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtmd_u64_f64(a); 468651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtmu {{x[0-9]+}}, {{d[0-9]+}} 469651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 470651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 471651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtns_s32_f32 472651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vcvtns_s32_f32(float32_t a) { 473651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtns_s32_f32(a); 474651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtns {{w[0-9]+}}, {{s[0-9]+}} 475651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 476651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 477651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtns_u32_f32 478651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vcvtns_u32_f32(float32_t a) { 479651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtns_u32_f32(a); 480651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtnu {{w[0-9]+}}, {{s[0-9]+}} 481651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 482651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 483651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtnd_s64_f64 484651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vcvtnd_s64_f64(float64_t a) { 485651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtnd_s64_f64(a); 486651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtns {{x[0-9]+}}, {{d[0-9]+}} 487651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 488651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 489651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtnd_u64_f64 490651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vcvtnd_u64_f64(float64_t a) { 491651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtnd_u64_f64(a); 492651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtnu {{x[0-9]+}}, {{d[0-9]+}} 493651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 494651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 495651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtps_s32_f32 496651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32_t test_vcvtps_s32_f32(float32_t a) { 497651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtps_s32_f32(a); 498651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtps {{w[0-9]+}}, {{s[0-9]+}} 499651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 500651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 501651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtps_u32_f32 502651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32_t test_vcvtps_u32_f32(float32_t a) { 503651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtps_u32_f32(a); 504651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtpu {{w[0-9]+}}, {{s[0-9]+}} 505651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 506651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 507651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtpd_s64_f64 508651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64_t test_vcvtpd_s64_f64(float64_t a) { 509651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtpd_s64_f64(a); 510651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtps {{x[0-9]+}}, {{d[0-9]+}} 511651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 512651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 513651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtpd_u64_f64 514651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64_t test_vcvtpd_u64_f64(float64_t a) { 515651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtpd_u64_f64(a); 516651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtpu {{x[0-9]+}}, {{d[0-9]+}} 517651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 518651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 519651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vcvtxd_f32_f64 520651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32_t test_vcvtxd_f32_f64(float64_t a) { 521651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vcvtxd_f32_f64(a); 522651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: fcvtxn {{s[0-9]+}}, {{d[0-9]+}} 523651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 524651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 525651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vabds_f32 526651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32_t test_vabds_f32(float32_t a, float32_t b) { 527651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vabds_f32(a, b); 528651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines // CHECK: fabd {{s[0-9]+}}, {{s[0-9]+}} 529651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 530651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 531651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vabdd_f64 532651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64_t test_vabdd_f64(float64_t a, float64_t b) { 533651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vabdd_f64(a, b); 534651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines // CHECK: fabd {{d[0-9]+}}, {{d[0-9]+}} 535651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 536651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 537651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vmulxs_f32 538651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32_t test_vmulxs_f32(float32_t a, float32_t b) { 539651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vmulxs_f32(a, b); 540651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines // CHECK: fmulx {{s[0-9]+}}, {{s[0-9]+}} 541651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 542651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 543651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: test_vmulxd_f64 544651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64_t test_vmulxd_f64(float64_t a, float64_t b) { 545651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines return vmulxd_f64(a, b); 546651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines // CHECK: fmulx {{d[0-9]+}}, {{d[0-9]+}} 547651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 548