aboutsummaryrefslogtreecommitdiff
path: root/clang/test
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-12-08 00:01:00 +0000
committerBill Wendling <isanbard@gmail.com>2013-12-08 00:01:00 +0000
commit9020e09fd58a04ccf0cc4c49cbe53e8e29cc0041 (patch)
tree260fd9f0e732471d78108e054f9dde4fa2a909d6 /clang/test
parent5ab449eeb3e1c3072237d61bbbffc0b2a51fbfeb (diff)
downloadllvm-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.c54
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]+}}
+}