summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/sse2-builtins.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGen/sse2-builtins.c b/clang/test/CodeGen/sse2-builtins.c
index 280640c267c..6e4327f593f 100644
--- a/clang/test/CodeGen/sse2-builtins.c
+++ b/clang/test/CodeGen/sse2-builtins.c
@@ -808,6 +808,23 @@ __m128d test_mm_min_sd(__m128d A, __m128d B) {
return _mm_min_sd(A, B);
}
+__m64 test_mm_movepi64_pi64(__m128i A)
+{
+ // CHECK-LABEL: test_mm_movepi64_pi64
+ // CHECK: [[EXT:%.*]] = extractelement <2 x i64> %1, i32 0
+ // CHECK: bitcast i64 [[EXT]] to <1 x i64>
+ return _mm_movepi64_pi64(A);
+}
+
+__m128i test_mm_movpi64_epi64(__m64 A)
+{
+ // CHECK-LABEL: test_mm_movpi64_epi64
+ // CHECK: [[CAST:%.*]] = bitcast <1 x i64> %{{.*}} to i64
+ // CHECK: [[INS:%.*]] = insertelement <2 x i64> undef, i64 [[CAST]], i32 0
+ // CHECK: insertelement <2 x i64> [[INS]], i64 0, i32 1
+ return _mm_movpi64_epi64(A);
+}
+
__m128i test_mm_move_epi64(__m128i A) {
// CHECK-LABEL: test_mm_move_epi64
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 0, i32 2>
OpenPOWER on IntegriCloud