diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 5a03a07dcca..b05c5dd2597 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -3229,6 +3229,7 @@ static bool isVTRN_v_undef_Mask(const SmallVectorImpl &M, EVT VT, unsigned NumElts = VT.getVectorNumElements(); WhichResult = (M[0] == 0 ? 0 : 1); for (unsigned i = 0; i < NumElts; i += 2) { + if (M[i] < 0) continue; if ((unsigned) M[i] != i + WhichResult || (unsigned) M[i+1] != i + WhichResult) return false;