]> granicus.if.org Git - clang/commitdiff
[X86][SSE2] Added _mm_move_* tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 19 May 2016 11:18:49 +0000 (11:18 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 19 May 2016 11:18:49 +0000 (11:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270043 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/sse2-builtins.c

index c912b869f48a1e7ef902256efb9943969129162b..9b822d2f7a892801c140b4f6cafef863b346343d 100644 (file)
@@ -721,6 +721,21 @@ __m128d test_mm_min_sd(__m128d A, __m128d B) {
   return _mm_min_sd(A, B);
 }
 
+__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>
+  return _mm_move_epi64(A);
+}
+
+__m128d test_mm_move_sd(__m128d A, __m128d B) {
+  // CHECK-LABEL: test_mm_move_sd
+  // CHECK: extractelement <2 x double> %{{.*}}, i32 0
+  // CHECK: insertelement <2 x double> undef, double %{{.*}}, i32 0
+  // CHECK: extractelement <2 x double> %{{.*}}, i32 1
+  // CHECK: insertelement <2 x double> %{{.*}}, double %{{.*}}, i32 1
+  return _mm_move_sd(A, B);
+}
+
 int test_mm_movemask_epi8(__m128i A) {
   // CHECK-LABEL: test_mm_movemask_epi8
   // CHECK: call i32 @llvm.x86.sse2.pmovmskb.128(<16 x i8> %{{.*}})