mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
Re-add tests from r179291 which were accidentally removed by r181177.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190934 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e2d6f91d63
commit
af96481135
@ -200,3 +200,31 @@ define void @test14(i16 %conv10) {
|
||||
%sext = sext <2 x i1> %cmp to <2 x i16>
|
||||
ret void
|
||||
}
|
||||
|
||||
; Check that sequences of insert/extract element are
|
||||
; collapsed into valid shuffle instruction with correct shuffle indexes.
|
||||
|
||||
define <4 x float> @test15a(<4 x float> %LHS, <4 x float> %RHS) {
|
||||
; CHECK-LABEL: @test15a
|
||||
; CHECK-NEXT: shufflevector <4 x float> %LHS, <4 x float> %RHS, <4 x i32> <i32 4, i32 0, i32 6, i32 6>
|
||||
; CHECK-NEXT: ret <4 x float> %tmp4
|
||||
%tmp1 = extractelement <4 x float> %LHS, i32 0
|
||||
%tmp2 = insertelement <4 x float> %RHS, float %tmp1, i32 1
|
||||
%tmp3 = extractelement <4 x float> %RHS, i32 2
|
||||
%tmp4 = insertelement <4 x float> %tmp2, float %tmp3, i32 3
|
||||
ret <4 x float> %tmp4
|
||||
}
|
||||
|
||||
define <4 x float> @test15b(<4 x float> %LHS, <4 x float> %RHS) {
|
||||
; CHECK-LABEL: @test15b
|
||||
; CHECK-NEXT: shufflevector <4 x float> %LHS, <4 x float> %RHS, <4 x i32> <i32 4, i32 3, i32 6, i32 6>
|
||||
; CHECK-NEXT: ret <4 x float> %tmp5
|
||||
%tmp0 = extractelement <4 x float> %LHS, i32 3
|
||||
%tmp1 = insertelement <4 x float> %RHS, float %tmp0, i32 0
|
||||
%tmp2 = extractelement <4 x float> %tmp1, i32 0
|
||||
%tmp3 = insertelement <4 x float> %RHS, float %tmp2, i32 1
|
||||
%tmp4 = extractelement <4 x float> %RHS, i32 2
|
||||
%tmp5 = insertelement <4 x float> %tmp3, float %tmp4, i32 3
|
||||
ret <4 x float> %tmp5
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user