mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
Added check to avoid generating extract subvector beyond the end of the vector when normalizing vector shuffles.
llvm-svn: 59900
This commit is contained in:
parent
2fc3f5daa5
commit
e1c40f4258
@ -2423,7 +2423,8 @@ void SelectionDAGLowering::visitShuffleVector(User &I) {
|
||||
StartIdx[Input] = 0;
|
||||
} else {
|
||||
StartIdx[Input] = (MinRange[Input]/MaskNumElts)*MaskNumElts;
|
||||
if (MaxRange[Input] - StartIdx[Input] < MaskNumElts)
|
||||
if (MaxRange[Input] - StartIdx[Input] < MaskNumElts &&
|
||||
StartIdx[Input] + MaskNumElts < SrcNumElts)
|
||||
RangeUse[Input] = 1; // Extract from a multiple of the mask length.
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user