Fix bug in DAGCombiner for ARM that was trying to do a ShiftCombine on illegal types (vector should be split first).

Added test case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119749 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tanya Lattner
2010-11-18 22:06:46 +00:00
parent 24d22d2764
commit 9684a7c128
2 changed files with 10 additions and 1 deletions

View File

@@ -4985,7 +4985,8 @@ static SDValue PerformShiftCombine(SDNode *N, SelectionDAG &DAG,
EVT VT = N->getValueType(0);
// Nothing to be done for scalar shifts.
if (! VT.isVector())
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
if (!VT.isVector() || !TLI.isTypeLegal(VT))
return SDValue();
assert(ST->hasNEON() && "unexpected vector shift");