diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-12-08 00:01:00 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-12-08 00:01:00 +0000 |
commit | 9020e09fd58a04ccf0cc4c49cbe53e8e29cc0041 (patch) | |
tree | 260fd9f0e732471d78108e054f9dde4fa2a909d6 /clang/test | |
parent | 5ab449eeb3e1c3072237d61bbbffc0b2a51fbfeb (diff) | |
download | llvm-9020e09fd58a04ccf0cc4c49cbe53e8e29cc0041.zip llvm-9020e09fd58a04ccf0cc4c49cbe53e8e29cc0041.tar.gz llvm-9020e09fd58a04ccf0cc4c49cbe53e8e29cc0041.tar.bz2 |
Merging r196191:
------------------------------------------------------------------------
r196191 | jiangning | 2013-12-02 17:33:16 -0800 (Mon, 02 Dec 2013) | 2 lines
Add some missing AArch64 Neon intrinsics like vuqadd_s64 and friends.
------------------------------------------------------------------------
llvm-svn: 196673
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/aarch64-neon-intrinsics.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/clang/test/CodeGen/aarch64-neon-intrinsics.c b/clang/test/CodeGen/aarch64-neon-intrinsics.c index efa078b..d9c1b8f 100644 --- a/clang/test/CodeGen/aarch64-neon-intrinsics.c +++ b/clang/test/CodeGen/aarch64-neon-intrinsics.c @@ -5616,6 +5616,12 @@ float64_t test_vcvtd_f64_s64(int64_t a) { return vcvtd_f64_s64(a); } +float64_t test_vcvt_f64_s64(int64_t a) { +// CHECK: test_vcvt_f64_s64 +// CHECK: scvtf {{d[0-9]+}}, {{d[0-9]+}} + return vcvt_f64_s64(a); +} + float32_t test_vcvts_f32_u32(uint32_t a) { // CHECK: test_vcvts_f32_u32 // CHECK: ucvtf {{s[0-9]+}}, {{s[0-9]+}} @@ -5628,6 +5634,12 @@ float64_t test_vcvtd_f64_u64(uint64_t a) { return vcvtd_f64_u64(a); } +float64_t test_vcvt_f64_u64(uint64_t a) { +// CHECK: test_vcvt_f64_u64 +// CHECK: ucvtf {{d[0-9]+}}, {{d[0-9]+}} + return vcvt_f64_u64(a); +} + float32_t test_vrecpes_f32(float32_t a) { // CHECK: test_vrecpes_f32 // CHECK: frecpe {{s[0-9]+}}, {{s[0-9]+}} @@ -11218,3 +11230,45 @@ float64_t test_vabdd_f64(float64_t a, float64_t b) { // CHECK: fabd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} return vabdd_f64(a, b); } + +float64_t test_vabd_f64(float64_t a, float64_t b) { +// CHECK-LABEL: test_vabd_f64 +// CHECK: fabd {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}} + return vabd_f64(a, b); +} + +int64x1_t test_vuqadd_s64(int64x1_t a, uint64x1_t b) { + // CHECK-LABEL: test_vuqadd_s64 + return vuqadd_s64(a, b); + // CHECK: suqadd d{{[0-9]+}}, d{{[0-9]+}} +} + +uint64x1_t test_vsqadd_u64(uint64x1_t a, int64x1_t b) { + // CHECK-LABEL: test_vsqadd_u64 + return vsqadd_u64(a, b); + // CHECK: usqadd d{{[0-9]+}}, d{{[0-9]+}} +} + +int64x1_t test_vabs_s64(int64x1_t a) { + // CHECK-LABEL: test_vabs_s64 + return vabs_s64(a); + // CHECK: abs d{{[0-9]+}}, d{{[0-9]+}} +} + +int64x1_t test_vqabs_s64(int64x1_t a) { + // CHECK-LABEL: test_vqabs_s64 + return vqabs_s64(a); + // CHECK: sqabs d{{[0-9]+}}, d{{[0-9]+}} +} + +int64x1_t test_vqneg_s64(int64x1_t a) { + // CHECK-LABEL: test_vqneg_s64 + return vqneg_s64(a); + // CHECK: sqneg d{{[0-9]+}}, d{{[0-9]+}} +} + +int64x1_t test_vneg_s64(int64x1_t a) { + // CHECK-LABEL: test_vneg_s64 + return vneg_s64(a); + // CHECK: neg d{{[0-9]+}}, d{{[0-9]+}} +} |