Lines Matching defs:Reg

101     RegOp Reg;
135 Op->Reg.Kind = Kind;
136 Op->Reg.Num = Num;
178 return Kind == KindReg && Reg.Kind == RegKind;
182 return Reg.Num;
311 bool parseRegister(Register &Reg);
313 bool parseRegister(Register &Reg, RegisterGroup Group, const unsigned *Regs,
419 bool SystemZAsmParser::parseRegister(Register &Reg) {
420 Reg.StartLoc = Parser.getTok().getLoc();
429 return Error(Reg.StartLoc, "invalid register");
434 return Error(Reg.StartLoc, "invalid register");
438 if (Name.substr(1).getAsInteger(10, Reg.Num))
439 return Error(Reg.StartLoc, "invalid register");
442 if (Prefix == 'r' && Reg.Num < 16)
443 Reg.Group = RegGR;
444 else if (Prefix == 'f' && Reg.Num < 16)
445 Reg.Group = RegFP;
446 else if (Prefix == 'a' && Reg.Num < 16)
447 Reg.Group = RegAccess;
449 return Error(Reg.StartLoc, "invalid register");
451 Reg.EndLoc = Parser.getTok().getLoc();
460 bool SystemZAsmParser::parseRegister(Register &Reg, RegisterGroup Group,
462 if (parseRegister(Reg))
464 if (Reg.Group != Group)
465 return Error(Reg.StartLoc, "invalid operand for instruction");
466 if (Regs && Regs[Reg.Num] == 0)
467 return Error(Reg.StartLoc, "invalid register pair");
468 if (Reg.Num == 0 && IsAddress)
469 return Error(Reg.StartLoc, "%r0 used in an address");
471 Reg.Num = Regs[Reg.Num];
482 Register Reg;
484 if (parseRegister(Reg, Group, Regs, IsAddress))
487 Operands.push_back(SystemZOperand::createReg(Kind, Reg.Num,
488 Reg.StartLoc, Reg.EndLoc));
512 Register Reg;
513 if (parseRegister(Reg, RegGR, Regs, RegKind))
516 Index = Reg.Num;
518 Base = Reg.Num;
528 Register Reg;
529 if (parseRegister(Reg, RegGR, Regs, RegKind))
531 Base = Reg.Num;
585 Register Reg;
586 if (parseRegister(Reg))
588 if (Reg.Group == RegGR)
589 RegNo = SystemZMC::GR64Regs[Reg.Num];
590 else if (Reg.Group == RegFP)
591 RegNo = SystemZMC::FP64Regs[Reg.Num];
594 return Error(Reg.StartLoc, "invalid operand for instruction");
595 StartLoc = Reg.StartLoc;
596 EndLoc = Reg.EndLoc;
652 Register Reg;
653 if (parseRegister(Reg))
655 Operands.push_back(SystemZOperand::createInvalid(Reg.StartLoc, Reg.EndLoc));
735 Register Reg;
736 if (parseRegister(Reg, RegAccess, nullptr))
739 Operands.push_back(SystemZOperand::createAccessReg(Reg.Num,
740 Reg.StartLoc,
741 Reg.EndLoc));