mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
New shuffle test case.
llvm-svn: 31187
This commit is contained in:
parent
1abe8bd233
commit
ac5b12519b
20
test/Regression/CodeGen/X86/vec_shuffle-9.ll
Normal file
20
test/Regression/CodeGen/X86/vec_shuffle-9.ll
Normal file
@ -0,0 +1,20 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 &&
|
||||
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep punpck | wc -l | grep 2 &&
|
||||
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep pextrw
|
||||
|
||||
<4 x int> %test(sbyte** %ptr) {
|
||||
entry:
|
||||
%tmp = load sbyte** %ptr
|
||||
%tmp = cast sbyte* %tmp to float*
|
||||
%tmp = load float* %tmp
|
||||
%tmp = insertelement <4 x float> undef, float %tmp, uint 0
|
||||
%tmp9 = insertelement <4 x float> %tmp, float 0.000000e+00, uint 1
|
||||
%tmp10 = insertelement <4 x float> %tmp9, float 0.000000e+00, uint 2
|
||||
%tmp11 = insertelement <4 x float> %tmp10, float 0.000000e+00, uint 3
|
||||
%tmp21 = cast <4 x float> %tmp11 to <16 x sbyte>
|
||||
%tmp22 = shufflevector <16 x sbyte> %tmp21, <16 x sbyte> zeroinitializer, <16 x uint> < uint 0, uint 16, uint 1, uint 17, uint 2, uint 18, uint 3, uint 19, uint 4, uint 20, uint 5, uint 21, uint 6, uint 22, uint 7, uint 23 >
|
||||
%tmp31 = cast <16 x sbyte> %tmp22 to <8 x short>
|
||||
%tmp = shufflevector <8 x short> zeroinitializer, <8 x short> %tmp31, <8 x uint> < uint 0, uint 8, uint 1, uint 9, uint 2, uint 10, uint 3, uint 11 >
|
||||
%tmp36 = cast <8 x short> %tmp to <4 x int>
|
||||
ret <4 x int> %tmp36
|
||||
}
|
Loading…
Reference in New Issue
Block a user