mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Fix the lowering of VECTOR_SHUFFLE on SPU to handle splats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106419 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3193a689db
commit
91fdee125c
@ -1791,7 +1791,7 @@ static SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) {
|
||||
} else {
|
||||
rotate = false;
|
||||
}
|
||||
} else if (PrevElt == 0) {
|
||||
} else if (i == 0) {
|
||||
// First time through, need to keep track of previous element
|
||||
PrevElt = SrcElt;
|
||||
} else {
|
||||
|
@ -5,6 +5,11 @@ define <4 x float> @shuffle(<4 x float> %param1, <4 x float> %param2) {
|
||||
; CHECK: shufb {{\$., \$4, \$3, \$.}}
|
||||
%val= shufflevector <4 x float> %param1, <4 x float> %param2, <4 x i32> <i32 4,i32 1,i32 2,i32 3>
|
||||
ret <4 x float> %val
|
||||
|
||||
}
|
||||
|
||||
define <4 x float> @splat(float %param1) {
|
||||
%vec = insertelement <1 x float> undef, float %param1, i32 0
|
||||
%val= shufflevector <1 x float> %vec, <1 x float> undef, <4 x i32> <i32 0,i32 0,i32 0,i32 0>
|
||||
ret <4 x float> %val
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user