[llvm-commits] [llvm] r59900 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
Mon P Wang
wangmp at apple.com
Sat Nov 22 20:35:05 PST 2008
Author: wangmp
Date: Sat Nov 22 22:35:05 2008
New Revision: 59900
URL: http://llvm.org/viewvc/llvm-project?rev=59900&view=rev
Log:
Added check to avoid generating extract subvector beyond the end of the vector when normalizing vector shuffles.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp?rev=59900&r1=59899&r2=59900&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp Sat Nov 22 22:35:05 2008
@@ -2423,7 +2423,8 @@
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.
}
}
More information about the llvm-commits
mailing list