Lines Matching defs:Reg1
1252 unsigned Reg1 = RegInfo->getSEHRegNum(MBBI->getOperand(2).getReg());
1255 .addImm(Reg1)
1265 Register Reg1 = MBBI->getOperand(2).getReg();
1266 if (Reg0 == AArch64::FP && Reg1 == AArch64::LR)
1273 .addImm(RegInfo->getSEHRegNum(Reg1))
1303 unsigned Reg1 = RegInfo->getSEHRegNum(MBBI->getOperand(1).getReg());
1306 .addImm(Reg1)
1314 Register Reg1 = MBBI->getOperand(1).getReg();
1315 if (Reg0 == AArch64::FP && Reg1 == AArch64::LR)
1322 .addImm(RegInfo->getSEHRegNum(Reg1))
1348 unsigned Reg1 = RegInfo->getSEHRegNum(MBBI->getOperand(1).getReg());
1351 .addImm(Reg1)
1361 unsigned Reg1 = RegInfo->getSEHRegNum(MBBI->getOperand(2).getReg());
1364 .addImm(Reg1)
2876 static bool invalidateWindowsRegisterPairing(unsigned Reg1, unsigned Reg2,
2890 if (TRI->getEncodingValue(Reg2) == TRI->getEncodingValue(Reg1) + 1)
2897 if (Reg1 >= AArch64::X19 && Reg1 <= AArch64::X27 &&
2898 (Reg1 - AArch64::X19) % 2 == 0 && Reg2 == AArch64::LR && !IsFirst)
2903 /// Returns true if Reg1 and Reg2 cannot be paired using a ldp/stp instruction.
2907 static bool invalidateRegisterPairing(unsigned Reg1, unsigned Reg2,
2912 return invalidateWindowsRegisterPairing(Reg1, Reg2, NeedsWinCFI, IsFirst,
2926 unsigned Reg1 = AArch64::NoRegister;
3012 RPI.Reg1 = CSI[i].getReg();
3014 if (AArch64::GPR64RegClass.contains(RPI.Reg1)) {
3017 } else if (AArch64::FPR64RegClass.contains(RPI.Reg1)) {
3020 } else if (AArch64::FPR128RegClass.contains(RPI.Reg1)) {
3023 } else if (AArch64::ZPRRegClass.contains(RPI.Reg1)) {
3026 } else if (AArch64::PPRRegClass.contains(RPI.Reg1)) {
3029 } else if (RPI.Reg1 == AArch64::VG) {
3039 AArch64InstrInfo::isFpOrNEON(RPI.Reg1))
3041 LastReg = RPI.Reg1;
3051 !invalidateRegisterPairing(RPI.Reg1, NextReg, IsWindows,
3058 !invalidateWindowsRegisterPairing(RPI.Reg1, NextReg, NeedsWinCFI,
3070 ((RPI.Reg1 - AArch64::Z0) & 1) == 0 && (NextReg == RPI.Reg1 + 1)) {
3094 RPI.Reg1 == AArch64::LR) &&
3098 assert((!RPI.isPaired() || !NeedsFrameRecord || RPI.Reg1 != AArch64::FP ||
3108 ((RPI.Reg1 == AArch64::LR && RPI.Reg2 == AArch64::FP) ||
3109 RPI.Reg1 + 1 == RPI.Reg2))) &&
3167 return IsWindows ? RPI.Reg1 == AArch64::FP && RPI.Reg2 == AArch64::LR
3168 : RPI.Reg1 == AArch64::LR && RPI.Reg2 == AArch64::FP;
3176 return i > 0 && RPI.Reg1 == AArch64::FP &&
3225 MIB.addReg(RPI.Reg1);
3229 if (!MRI.isReserved(RPI.Reg1))
3230 MBB.addLiveIn(RPI.Reg1);
3238 unsigned Reg1 = RPI.Reg1;
3276 if (Reg1 == AArch64::VG) {
3278 Reg1 = findScratchNonCalleeSaveRegister(&MBB);
3279 assert(Reg1 != AArch64::NoRegister);
3286 BuildMI(MBB, MI, DL, TII.get(AArch64::RDSVLI_XI), Reg1)
3289 BuildMI(MBB, MI, DL, TII.get(AArch64::UBFMXri), Reg1)
3290 .addReg(Reg1)
3297 BuildMI(MBB, MI, DL, TII.get(AArch64::CNTD_XPiI), Reg1)
3310 X0Scratch = Reg1;
3313 BuildMI(MBB, MI, DL, TII.get(AArch64::ORRXrr), Reg1)
3327 Reg1 = AArch64::X0;
3332 LLVM_DEBUG(dbgs() << "CSR spill: (" << printReg(Reg1, TRI);
3338 assert((!NeedsWinCFI || !(Reg1 == AArch64::LR && Reg2 == AArch64::FP)) &&
3346 std::swap(Reg1, Reg2);
3359 return c.Reg1 == RegPairInfo::PPR;
3375 if (!MRI.isReserved(Reg1))
3376 MBB.addLiveIn(Reg1);
3379 MIB.addReg(/*PairRegs*/ AArch64::Z0_Z1 + (RPI.Reg1 - AArch64::Z0));
3395 if (!MRI.isReserved(Reg1))
3396 MBB.addLiveIn(Reg1);
3405 MIB.addReg(Reg1, getPrologueDeath(MF, Reg1))
3451 MIB.addReg(RPI.Reg1, RegState::Define);
3469 unsigned Reg1 = RPI.Reg1;
3502 LLVM_DEBUG(dbgs() << "CSR restore: (" << printReg(Reg1, TRI);
3514 std::swap(Reg1, Reg2);
3535 MIB.addReg(/*PairRegs*/ AArch64::Z0_Z1 + (RPI.Reg1 - AArch64::Z0),
3558 MIB.addReg(Reg1, getDefRegState(true));