[X86][SSE2] Updated _mm_store_pd1/_mm_store1_pd fast-isel tests to match D20617

llvm-svn: 271220
This commit is contained in:
Simon Pilgrim 2016-05-30 18:18:44 +00:00
parent 43439bd33d
commit 4ed0e07b23
1 changed files with 26 additions and 9 deletions

View File

@ -3104,6 +3104,25 @@ define void @test_mm_store_pd(double *%a0, <2 x double> %a1) {
ret void
}
define void @test_mm_store_pd1(double *%a0, <2 x double> %a1) {
; X32-LABEL: test_mm_store_pd1:
; X32: # BB#0:
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
; X32-NEXT: movaps %xmm0, (%eax)
; X32-NEXT: retl
;
; X64-LABEL: test_mm_store_pd1:
; X64: # BB#0:
; X64-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
; X64-NEXT: movaps %xmm0, (%rdi)
; X64-NEXT: retq
%arg0 = bitcast double * %a0 to <2 x double>*
%shuf = shufflevector <2 x double> %a1, <2 x double> undef, <2 x i32> zeroinitializer
store <2 x double> %shuf, <2 x double>* %arg0, align 16
ret void
}
define void @test_mm_store_sd(double *%a0, <2 x double> %a1) {
; X32-LABEL: test_mm_store_sd:
; X32: # BB#0:
@ -3139,20 +3158,18 @@ define void @test_mm_store1_pd(double *%a0, <2 x double> %a1) {
; X32-LABEL: test_mm_store1_pd:
; X32: # BB#0:
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: movsd %xmm0, (%eax)
; X32-NEXT: movsd %xmm0, 8(%eax)
; X32-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
; X32-NEXT: movaps %xmm0, (%eax)
; X32-NEXT: retl
;
; X64-LABEL: test_mm_store1_pd:
; X64: # BB#0:
; X64-NEXT: movsd %xmm0, (%rdi)
; X64-NEXT: movsd %xmm0, 8(%rdi)
; X64-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0]
; X64-NEXT: movaps %xmm0, (%rdi)
; X64-NEXT: retq
%ext = extractelement <2 x double> %a1, i32 0
%ptr0 = getelementptr inbounds double, double* %a0, i32 0
%ptr1 = getelementptr inbounds double, double* %a0, i32 1
store double %ext, double* %ptr0, align 1
store double %ext, double* %ptr1, align 1
%arg0 = bitcast double * %a0 to <2 x double>*
%shuf = shufflevector <2 x double> %a1, <2 x double> undef, <2 x i32> zeroinitializer
store <2 x double> %shuf, <2 x double>* %arg0, align 16
ret void
}