merge another sse41 test into sse41.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76852 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-07-23 04:43:48 +00:00
parent ca6883b007
commit 052876957c
2 changed files with 23 additions and 12 deletions

View File

@ -1,12 +0,0 @@
; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep extractps | count 2
define i32 @foo(<4 x float> %v) {
%s = extractelement <4 x float> %v, i32 3
%i = bitcast float %s to i32
ret i32 %i
}
define i32 @boo(<4 x float> %v) {
%t = bitcast <4 x float> %v to <4 x i32>
%s = extractelement <4 x i32> %t, i32 3
ret i32 %s
}

View File

@ -84,3 +84,26 @@ entry:
declare <4 x i32> @llvm.x86.sse41.pmovsxbd(<16 x i8>) nounwind readnone
declare <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16>) nounwind readnone
declare <2 x i64> @llvm.x86.sse41.pmovzxbq(<16 x i8>) nounwind readnone
define i32 @extractps_1(<4 x float> %v) nounwind {
%s = extractelement <4 x float> %v, i32 3
%i = bitcast float %s to i32
ret i32 %i
; X32: _extractps_1:
; X32: extractps $3, %xmm0, %eax
; X64: _extractps_1:
; X64: extractps $3, %xmm0, %eax
}
define i32 @extractps_2(<4 x float> %v) nounwind {
%t = bitcast <4 x float> %v to <4 x i32>
%s = extractelement <4 x i32> %t, i32 3
ret i32 %s
; X64: _extractps_2:
; X64: extractps $3, %xmm0, %eax
}