summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorAmaury de la Vieuville <amaury.dlv@gmail.com>2013-09-18 08:33:53 +0000
committerAmaury de la Vieuville <amaury.dlv@gmail.com>2013-09-18 08:33:53 +0000
commit718ce62b3cc3bb2ee356788bbd4bfda23bce1f74 (patch)
tree6eafcdac7bcaf282cca809c56524b671b47e5158 /clang/test/CodeGen
parentd0c5c776bceb389cae4fbd95d513dae4b023ecd7 (diff)
downloadbcm5719-llvm-718ce62b3cc3bb2ee356788bbd4bfda23bce1f74.tar.gz
bcm5719-llvm-718ce62b3cc3bb2ee356788bbd4bfda23bce1f74.zip
Add support for poly16 vtst and vtstq
vtst and vtstq currently support poly8 types, but they should also work on poly16. llvm-svn: 190925
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/aarch64-neon-intrinsics.c12
-rw-r--r--clang/test/CodeGen/arm_neon_intrinsics.c12
2 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/CodeGen/aarch64-neon-intrinsics.c b/clang/test/CodeGen/aarch64-neon-intrinsics.c
index 53ec130184c..041f6d7bf67 100644
--- a/clang/test/CodeGen/aarch64-neon-intrinsics.c
+++ b/clang/test/CodeGen/aarch64-neon-intrinsics.c
@@ -1095,12 +1095,24 @@ uint8x8_t test_vtst_p8(poly8x8_t v1, poly8x8_t v2) {
// CHECK: cmtst {{v[0-9]+}}.8b, {{v[0-9]+}}.8b, {{v[0-9]+}}.8b
}
+uint16x4_t test_vtst_p16(poly16x4_t v1, poly16x4_t v2) {
+ // CHECK: test_vtst_p16
+ return vtst_p16(v1, v2);
+ // CHECK: cmtst {{v[0-9]+}}.4h, {{v[0-9]+}}.4h, {{v[0-9]+}}.4h
+}
+
uint8x16_t test_vtstq_p8(poly8x16_t v1, poly8x16_t v2) {
// CHECK: test_vtstq_p8
return vtstq_p8(v1, v2);
// CHECK: cmtst {{v[0-9]+}}.16b, {{v[0-9]+}}.16b, {{v[0-9]+}}.16b
}
+uint16x8_t test_vtstq_p16(poly16x8_t v1, poly16x8_t v2) {
+ // CHECK: test_vtstq_p16
+ return vtstq_p16(v1, v2);
+ // CHECK: cmtst {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
+}
+
uint8x8_t test_vceq_s8(int8x8_t v1, int8x8_t v2) {
// CHECK: test_vceq_s8
diff --git a/clang/test/CodeGen/arm_neon_intrinsics.c b/clang/test/CodeGen/arm_neon_intrinsics.c
index 0a82a163bac..1d76e8a5754 100644
--- a/clang/test/CodeGen/arm_neon_intrinsics.c
+++ b/clang/test/CodeGen/arm_neon_intrinsics.c
@@ -11361,6 +11361,12 @@ uint8x8_t test_vtst_p8(poly8x8_t a, poly8x8_t b) {
return vtst_p8(a, b);
}
+// CHECK: test_vtst_p16
+// CHECK: vtst.16 d{{[0-9]+}}, d{{[0-9]+}}, d{{[0-9]+}}
+uint16x4_t test_vtst_p16(poly16x4_t a, poly16x4_t b) {
+ return vtst_p16(a, b);
+}
+
// CHECK: test_vtstq_s8
// CHECK: vtst.8 q{{[0-9]+}}, q{{[0-9]+}}, q{{[0-9]+}}
uint8x16_t test_vtstq_s8(int8x16_t a, int8x16_t b) {
@@ -11403,6 +11409,12 @@ uint8x16_t test_vtstq_p8(poly8x16_t a, poly8x16_t b) {
return vtstq_p8(a, b);
}
+// CHECK: test_vtstq_p16
+// CHECK: vtst.16 q{{[0-9]+}}, q{{[0-9]+}}, q{{[0-9]+}}
+uint16x8_t test_vtstq_p16(poly16x8_t a, poly16x8_t b) {
+ return vtstq_p16(a, b);
+}
+
// CHECK: test_vuzp_s8
// CHECK: vuzp.8 d{{[0-9]+}}, d{{[0-9]+}}
OpenPOWER on IntegriCloud