llvm/test/CodeGen/X86/sse41-extractps-bitcast-1.ll
Dan Gohman 171c11ec93 Add support for the form of the SSE41 extractps instruction that
puts its result in a 32-bit GPR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49762 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 02:32:24 +00:00

20 lines
572 B
LLVM

; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | not grep extractps
; The non-store form of extractps puts its result into a GPR.
; This makes it suitable for an extract from a <4 x float> that
; is bitcasted to i32, but unsuitable for much of anything else.
define float @bar(<4 x float> %v) {
%s = extractelement <4 x float> %v, i32 3
%t = add float %s, 1.0
ret float %t
}
define float @baz(<4 x float> %v) {
%s = extractelement <4 x float> %v, i32 3
ret float %s
}
define i32 @qux(<4 x i32> %v) {
%i = extractelement <4 x i32> %v, i32 3
ret i32 %i
}