summaryrefslogtreecommitdiff
path: root/test/CodeGen/mmx-builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/mmx-builtins.c')
-rw-r--r--test/CodeGen/mmx-builtins.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/test/CodeGen/mmx-builtins.c b/test/CodeGen/mmx-builtins.c
index 44d1ea4d57e8..2bf497d58aaf 100644
--- a/test/CodeGen/mmx-builtins.c
+++ b/test/CodeGen/mmx-builtins.c
@@ -44,8 +44,8 @@ __m64 test_mm_add_pi32(__m64 a, __m64 b) {
__m64 test_mm_add_si64(__m64 a, __m64 b) {
// CHECK-LABEL: test_mm_add_si64
- // CHECK: call x86_mmx @llvm.x86.mmx.padd.q
- return __builtin_ia32_paddq(a, b);
+ // CHECK: call x86_mmx @llvm.x86.mmx.padd.q(x86_mmx %{{.*}}, x86_mmx %{{.*}})
+ return _mm_add_si64(a, b);
}
__m64 test_mm_adds_pi8(__m64 a, __m64 b) {
@@ -217,6 +217,12 @@ __m64 test_mm_cvttps_pi32(__m128 a) {
return _mm_cvttps_pi32(a);
}
+int test_mm_extract_pi16(__m64 a) {
+ // CHECK-LABEL: test_mm_extract_pi16
+ // CHECK: call i32 @llvm.x86.mmx.pextr.w
+ return _mm_extract_pi16(a, 2);
+}
+
__m64 test_m_from_int(int a) {
// CHECK-LABEL: test_m_from_int
// CHECK: insertelement <2 x i32>
@@ -265,6 +271,12 @@ __m64 test_mm_hsubs_pi16(__m64 a, __m64 b) {
return _mm_hsubs_pi16(a, b);
}
+__m64 test_mm_insert_pi16(__m64 a, int d) {
+ // CHECK-LABEL: test_mm_insert_pi16
+ // CHECK: call x86_mmx @llvm.x86.mmx.pinsr.w
+ return _mm_insert_pi16(a, d, 2);
+}
+
__m64 test_mm_madd_pi16(__m64 a, __m64 b) {
// CHECK-LABEL: test_mm_madd_pi16
// CHECK: call x86_mmx @llvm.x86.mmx.pmadd.wd
@@ -315,7 +327,7 @@ int test_mm_movemask_pi8(__m64 a) {
__m64 test_mm_mul_su32(__m64 a, __m64 b) {
// CHECK-LABEL: test_mm_mul_su32
- // CHECK: call x86_mmx @llvm.x86.mmx.pmulu.dq
+ // CHECK: call x86_mmx @llvm.x86.mmx.pmulu.dq(x86_mmx %{{.*}}, x86_mmx %{{.*}})
return _mm_mul_su32(a, b);
}
@@ -525,8 +537,8 @@ __m64 test_mm_sub_pi32(__m64 a, __m64 b) {
__m64 test_mm_sub_si64(__m64 a, __m64 b) {
// CHECK-LABEL: test_mm_sub_si64
- // CHECK: call x86_mmx @llvm.x86.mmx.psub.q
- return __builtin_ia32_psubq(a, b);
+ // CHECK: call x86_mmx @llvm.x86.mmx.psub.q(x86_mmx %{{.*}}, x86_mmx %{{.*}})
+ return _mm_sub_si64(a, b);
}
__m64 test_mm_subs_pi8(__m64 a, __m64 b) {