diff options
author | Craig Topper <craig.topper@intel.com> | 2019-08-15 06:20:33 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-08-15 06:20:33 +0000 |
commit | 803e849cbfa8f9a5eb5395b0417d8887cc68134a (patch) | |
tree | b8fa469ff23870b7a0e033abe5698324ac5975ba | |
parent | dbcbbf5658d82a84eadaeab3df7535a4faa39be9 (diff) | |
download | llvm-803e849cbfa8f9a5eb5395b0417d8887cc68134a.zip llvm-803e849cbfa8f9a5eb5395b0417d8887cc68134a.tar.gz llvm-803e849cbfa8f9a5eb5395b0417d8887cc68134a.tar.bz2 |
[X86] Add test cases for _mm_movepi64_pi64 and _mm_movpi64_epi64.
llvm-svn: 368969
-rw-r--r-- | clang/test/CodeGen/sse2-builtins.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGen/sse2-builtins.c b/clang/test/CodeGen/sse2-builtins.c index 280640c..6e4327f 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> |