summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorHao Liu <Hao.Liu@arm.com>2013-12-09 03:52:22 +0000
committerHao Liu <Hao.Liu@arm.com>2013-12-09 03:52:22 +0000
commit844a7da2431fb4d2d5e8b2485c6fe05c7190600a (patch)
treeb2cfd76a47fd61ab6da3d00ae51e5f74e90b6b1a /clang/test
parent96a587a9f784cbf5147a1426cf234c4943911bb7 (diff)
downloadbcm5719-llvm-844a7da2431fb4d2d5e8b2485c6fe05c7190600a.tar.gz
bcm5719-llvm-844a7da2431fb4d2d5e8b2485c6fe05c7190600a.zip
[AArch64]Add missing pair intrinsics such as:
int32_t vminv_s32(int32x2_t a) which should be compiled into SMINP Vd.2S,Vn.2S,Vm.2S llvm-svn: 196750
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/aarch64-neon-intrinsics.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/clang/test/CodeGen/aarch64-neon-intrinsics.c b/clang/test/CodeGen/aarch64-neon-intrinsics.c
index 6e9b7f10b36..48bb008ff20 100644
--- a/clang/test/CodeGen/aarch64-neon-intrinsics.c
+++ b/clang/test/CodeGen/aarch64-neon-intrinsics.c
@@ -11723,3 +11723,51 @@ float64x1_t test_vrsqrts_f64(float64x1_t a, float64x1_t b) {
return vrsqrts_f64(a, b);
// CHECK: frsqrts d{{[0-9]+}}, d{{[0-9]+}}, d{{[0-9]+}}
}
+
+int32_t test_vminv_s32(int32x2_t a) {
+ // CHECK-LABEL: test_vminv_s32
+ return vminv_s32(a);
+ // CHECK: sminp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+uint32_t test_vminv_u32(uint32x2_t a) {
+ // CHECK-LABEL: test_vminv_u32
+ return vminv_u32(a);
+ // CHECK: uminp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+int32_t test_vmaxv_s32(int32x2_t a) {
+ // CHECK-LABEL: test_vmaxv_s32
+ return vmaxv_s32(a);
+ // CHECK: smaxp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+uint32_t test_vmaxv_u32(uint32x2_t a) {
+ // CHECK-LABEL: test_vmaxv_u32
+ return vmaxv_u32(a);
+ // CHECK: umaxp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+int32_t test_vaddv_s32(int32x2_t a) {
+ // CHECK-LABEL: test_vaddv_s32
+ return vaddv_s32(a);
+ // CHECK: addp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+uint32_t test_vaddv_u32(uint32x2_t a) {
+ // CHECK-LABEL: test_vaddv_u32
+ return vaddv_u32(a);
+ // CHECK: addp {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
+}
+
+int64_t test_vaddlv_s32(int32x2_t a) {
+ // CHECK-LABEL: test_vaddlv_s32
+ return vaddlv_s32(a);
+ // CHECK: saddlp {{v[0-9]+}}.1d, {{v[0-9]+}}.2s
+}
+
+uint64_t test_vaddlv_u32(uint32x2_t a) {
+ // CHECK-LABEL: test_vaddlv_u32
+ return vaddlv_u32(a);
+ // CHECK: uaddlp {{v[0-9]+}}.1d, {{v[0-9]+}}.2s
+}
OpenPOWER on IntegriCloud