Lines Matching defs:Reg
200 struct RegOp Reg;
215 return (Kind == k_Register && Reg.Kind == rk_IntReg);
219 return (Kind == k_Register && Reg.Kind == rk_FloatReg);
223 return (Kind == k_Register && (Reg.Kind == rk_FloatReg
224 || Reg.Kind == rk_DoubleReg));
235 return Reg.RegNum;
270 case k_Register: OS << "Reg: #" << getReg() << "\n"; break;
332 Op->Reg.RegNum = RegNum;
333 Op->Reg.Kind = (SparcOperand::RegisterKind)Kind;
349 unsigned Reg = Op.getReg();
350 assert(Op.Reg.Kind == rk_IntReg);
352 if (Reg >= Sparc::G0 && Reg <= Sparc::G7)
353 regIdx = Reg - Sparc::G0;
354 else if (Reg >= Sparc::O0 && Reg <= Sparc::O7)
355 regIdx = Reg - Sparc::O0 + 8;
356 else if (Reg >= Sparc::L0 && Reg <= Sparc::L7)
357 regIdx = Reg - Sparc::L0 + 16;
358 else if (Reg >= Sparc::I0 && Reg <= Sparc::I7)
359 regIdx = Reg - Sparc::I0 + 24;
362 Op.Reg.RegNum = IntPairRegs[regIdx / 2];
363 Op.Reg.Kind = rk_IntPairReg;
368 unsigned Reg = Op.getReg();
369 assert(Op.Reg.Kind == rk_FloatReg);
370 unsigned regIdx = Reg - Sparc::F0;
373 Op.Reg.RegNum = DoubleRegs[regIdx / 2];
374 Op.Reg.Kind = rk_DoubleReg;
379 unsigned Reg = Op.getReg();
381 switch (Op.Reg.Kind) {
384 regIdx = Reg - Sparc::F0;
387 Reg = QuadFPRegs[regIdx / 4];
390 regIdx = Reg - Sparc::D0;
393 Reg = QuadFPRegs[regIdx / 2];
396 Op.Reg.RegNum = Reg;
397 Op.Reg.Kind = rk_QuadReg;