@@ -4621,7 +4621,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
4621
4621
return ParseStatus::NoMatch;
4622
4622
};
4623
4623
4624
- int NumRegs = getNumRegsForRegKind (VectorKind);
4624
+ unsigned NumRegs = getNumRegsForRegKind (VectorKind);
4625
4625
SMLoc S = getLoc ();
4626
4626
auto LCurly = getTok ();
4627
4627
Lex (); // Eat left bracket token.
@@ -4638,10 +4638,10 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
4638
4638
if (!ParseRes.isSuccess ())
4639
4639
return ParseRes;
4640
4640
4641
- int64_t PrevReg = FirstReg;
4641
+ MCRegister PrevReg = FirstReg;
4642
4642
unsigned Count = 1 ;
4643
4643
4644
- int Stride = 1 ;
4644
+ unsigned Stride = 1 ;
4645
4645
if (parseOptionalToken (AsmToken::Minus)) {
4646
4646
SMLoc Loc = getLoc ();
4647
4647
StringRef NextKind;
@@ -4656,7 +4656,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
4656
4656
return Error (Loc, " mismatched register size suffix" );
4657
4657
4658
4658
unsigned Space =
4659
- (PrevReg < Reg) ? (Reg - PrevReg) : (Reg + NumRegs - PrevReg);
4659
+ (PrevReg < Reg) ? (Reg - PrevReg) : (NumRegs - ( PrevReg - Reg) );
4660
4660
4661
4661
if (Space == 0 || Space > 3 )
4662
4662
return Error (Loc, " invalid number of vectors" );
@@ -4682,7 +4682,7 @@ ParseStatus AArch64AsmParser::tryParseVectorList(OperandVector &Operands,
4682
4682
getContext ().getRegisterInfo ()->getEncodingValue (PrevReg);
4683
4683
if (!HasCalculatedStride) {
4684
4684
Stride = (PrevRegVal < RegVal) ? (RegVal - PrevRegVal)
4685
- : (RegVal + NumRegs - PrevRegVal);
4685
+ : (NumRegs - ( PrevRegVal - RegVal) );
4686
4686
HasCalculatedStride = true ;
4687
4687
}
4688
4688
0 commit comments