diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-23 04:43:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-23 04:43:48 +0000 |
commit | 1501f8b38706264577a5769d7c77de0a11a182b0 (patch) | |
tree | 09197782f6923a614226b838d864103b2d12601b /test/CodeGen/X86 | |
parent | 972d5628333423f2914f4425003fb90ea74a5603 (diff) | |
download | external_llvm-1501f8b38706264577a5769d7c77de0a11a182b0.zip external_llvm-1501f8b38706264577a5769d7c77de0a11a182b0.tar.gz external_llvm-1501f8b38706264577a5769d7c77de0a11a182b0.tar.bz2 |
merge another sse41 test into sse41.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76852 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/sse41-extractps-bitcast-0.ll | 12 | ||||
-rw-r--r-- | test/CodeGen/X86/sse41.ll | 23 |
2 files changed, 23 insertions, 12 deletions
diff --git a/test/CodeGen/X86/sse41-extractps-bitcast-0.ll b/test/CodeGen/X86/sse41-extractps-bitcast-0.ll deleted file mode 100644 index bcfaa7a..0000000 --- a/test/CodeGen/X86/sse41-extractps-bitcast-0.ll +++ /dev/null @@ -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 -} diff --git a/test/CodeGen/X86/sse41.ll b/test/CodeGen/X86/sse41.ll index f4b0854..170280c 100644 --- a/test/CodeGen/X86/sse41.ll +++ b/test/CodeGen/X86/sse41.ll @@ -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 +} |