@@ -4621,7 +4621,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
46214621 return ParseStatus::NoMatch;
46224622 };
46234623
4624- int NumRegs = getNumRegsForRegKind (VectorKind);
4624+ unsigned NumRegs = getNumRegsForRegKind (VectorKind);
46254625 SMLoc S = getLoc ();
46264626 auto LCurly = getTok ();
46274627 Lex (); // Eat left bracket token.
@@ -4638,10 +4638,10 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
46384638 if (!ParseRes.isSuccess ())
46394639 return ParseRes;
46404640
4641- int64_t PrevReg = FirstReg;
4641+ MCRegister PrevReg = FirstReg;
46424642 unsigned Count = 1 ;
46434643
4644- int Stride = 1 ;
4644+ unsigned Stride = 1 ;
46454645 if (parseOptionalToken (AsmToken::Minus)) {
46464646 SMLoc Loc = getLoc ();
46474647 StringRef NextKind;
@@ -4656,7 +4656,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
46564656 return Error (Loc, " mismatched register size suffix" );
46574657
46584658 unsigned Space =
4659- (PrevReg < Reg) ? (Reg - PrevReg) : (Reg + NumRegs - PrevReg);
4659+ (PrevReg < Reg) ? (Reg - PrevReg) : (NumRegs - ( PrevReg - Reg) );
46604660
46614661 if (Space == 0 || Space > 3 )
46624662 return Error (Loc, " invalid number of vectors" );
@@ -4682,7 +4682,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
46824682 getContext ().getRegisterInfo ()->getEncodingValue (PrevReg);
46834683 if (!HasCalculatedStride) {
46844684 Stride = (PrevRegVal < RegVal) ? (RegVal - PrevRegVal)
4685- : (RegVal + NumRegs - PrevRegVal);
4685+ : (NumRegs - ( PrevRegVal - RegVal) );
46864686 HasCalculatedStride = true ;
46874687 }
46884688
0 commit comments