mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 04:09:45 +00:00
[X86][SSE2] Use storeu intrinsics for _mm_storeu_pd/_mm_storeu_pd tests
Also fixed name of _mm_store1_pd test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270681 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
88c2d3172d
commit
5c780f78b4
@ -3135,15 +3135,15 @@ define void @test_mm_store_si128(<2 x i64> *%a0, <2 x i64> %a1) {
|
||||
ret void
|
||||
}
|
||||
|
||||
define void @test_mm_store1_sd(double *%a0, <2 x double> %a1) {
|
||||
; X32-LABEL: test_mm_store1_sd:
|
||||
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: retl
|
||||
;
|
||||
; X64-LABEL: test_mm_store1_sd:
|
||||
; X64-LABEL: test_mm_store1_pd:
|
||||
; X64: # BB#0:
|
||||
; X64-NEXT: movsd %xmm0, (%rdi)
|
||||
; X64-NEXT: movsd %xmm0, 8(%rdi)
|
||||
@ -3238,10 +3238,11 @@ define void @test_mm_storeu_pd(double *%a0, <2 x double> %a1) {
|
||||
; X64: # BB#0:
|
||||
; X64-NEXT: movups %xmm0, (%rdi)
|
||||
; X64-NEXT: retq
|
||||
%arg0 = bitcast double* %a0 to <2 x double>*
|
||||
store <2 x double> %a1, <2 x double>* %arg0, align 1
|
||||
%arg0 = bitcast double* %a0 to i8*
|
||||
call void @llvm.x86.sse2.storeu.pd(i8* %arg0, <2 x double> %a1)
|
||||
ret void
|
||||
}
|
||||
declare void @llvm.x86.sse2.storeu.pd(i8*, <2 x double>) nounwind
|
||||
|
||||
define void @test_mm_storeu_si128(<2 x i64> *%a0, <2 x i64> %a1) {
|
||||
; X32-LABEL: test_mm_storeu_si128:
|
||||
@ -3254,9 +3255,12 @@ define void @test_mm_storeu_si128(<2 x i64> *%a0, <2 x i64> %a1) {
|
||||
; X64: # BB#0:
|
||||
; X64-NEXT: movups %xmm0, (%rdi)
|
||||
; X64-NEXT: retq
|
||||
store <2 x i64> %a1, <2 x i64>* %a0, align 1
|
||||
%arg0 = bitcast <2 x i64>* %a0 to i8*
|
||||
%arg1 = bitcast <2 x i64> %a1 to <16 x i8>
|
||||
call void @llvm.x86.sse2.storeu.dq(i8* %arg0, <16 x i8> %arg1)
|
||||
ret void
|
||||
}
|
||||
declare void @llvm.x86.sse2.storeu.dq(i8*, <16 x i8>) nounwind
|
||||
|
||||
define void @test_mm_stream_pd(double *%a0, <2 x double> %a1) {
|
||||
; X32-LABEL: test_mm_stream_pd:
|
||||
|
Loading…
Reference in New Issue
Block a user