mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
[X86][SSE] Minor regression fix for r225551
r225551 vector byte shuffle optimization caused an assertion as fully zeroable vectors can be produced under certain circumstances. This fix drops the assert and returns a zero vector where the assert would have failed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225718 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8afb6d0e2f
commit
c815f15537
@ -9652,7 +9652,6 @@ static SDValue lowerV16I8VectorShuffle(SDValue Op, SDValue V1, SDValue V2,
|
||||
V2InUse |= (ZeroMask != V2Idx);
|
||||
}
|
||||
}
|
||||
assert((V1InUse || V2InUse) && "Shuffling to a zeroable vector");
|
||||
|
||||
if (V1InUse)
|
||||
V1 = DAG.getNode(X86ISD::PSHUFB, DL, MVT::v16i8, V1,
|
||||
@ -9668,6 +9667,8 @@ static SDValue lowerV16I8VectorShuffle(SDValue Op, SDValue V1, SDValue V2,
|
||||
return V1; // Single inputs are easy.
|
||||
if (V2InUse)
|
||||
return V2; // Single inputs are easy.
|
||||
// Shuffling to a zeroable vector.
|
||||
return getZeroVector(MVT::v16i8, Subtarget, DAG, DL);
|
||||
}
|
||||
|
||||
// There are special ways we can lower some single-element blends.
|
||||
|
Loading…
x
Reference in New Issue
Block a user