summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-04-28 10:31:42 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-04-28 10:31:42 +0000
commit67b1a79985b94e10cf0190685d767eb6385115e4 (patch)
treee353f594f5893da4428ab9bd5920d1a729f46575
parent99ed27053d68abf543476feef43abdf72a8d7e7a (diff)
downloadbcm5719-llvm-67b1a79985b94e10cf0190685d767eb6385115e4.tar.gz
bcm5719-llvm-67b1a79985b94e10cf0190685d767eb6385115e4.zip
[X86][SSE] Add codegen test for _mm_set_pd1 (PR32827)
llvm-svn: 301638
-rw-r--r--llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll b/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
index 964037ea80a..20387ccd6b7 100644
--- a/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
+++ b/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
@@ -2318,6 +2318,22 @@ define <2 x double> @test_mm_set_pd(double %a0, double %a1) nounwind {
ret <2 x double> %res1
}
+define <2 x double> @test_mm_set_pd1(double %a0) nounwind {
+; X32-LABEL: test_mm_set_pd1:
+; X32: # BB#0:
+; X32-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
+; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
+; X32-NEXT: retl
+;
+; X64-LABEL: test_mm_set_pd1:
+; X64: # BB#0:
+; X64-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
+; X64-NEXT: retq
+ %res0 = insertelement <2 x double> undef, double %a0, i32 0
+ %res1 = insertelement <2 x double> %res0, double %a0, i32 1
+ ret <2 x double> %res1
+}
+
define <2 x double> @test_mm_set_sd(double %a0) nounwind {
; X32-LABEL: test_mm_set_sd:
; X32: # BB#0:
OpenPOWER on IntegriCloud