Lines Matching full:loongarch
1 //===- LoongArchRegisterInfo.cpp - LoongArch Register Information -*- C++ -*-=//
9 // This file contains the LoongArch implementation of the TargetRegisterInfo
15 #include "LoongArch.h"
34 : LoongArchGenRegisterInfo(LoongArch::R1, /*DwarfFlavour*/ 0,
91 markSuperRegs(Reserved, LoongArch::R0); // zero
92 markSuperRegs(Reserved, LoongArch::R2); // tp
93 markSuperRegs(Reserved, LoongArch::R3); // sp
94 markSuperRegs(Reserved, LoongArch::R21); // non-allocatable
96 markSuperRegs(Reserved, LoongArch::R22); // fp
109 return TFI->hasFP(MF) ? LoongArch::R22 : LoongArch::R3;
144 unsigned Addi = IsLA64 ? LoongArch::ADDI_D : LoongArch::ADDI_W;
145 unsigned Add = IsLA64 ? LoongArch::ADD_D : LoongArch::ADD_W;
149 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass);
167 if (MIOpc == LoongArch::PseudoST_CFR) {
168 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass);
169 BuildMI(MBB, II, DL, TII->get(LoongArch::MOVCF2GR), ScratchReg)
171 BuildMI(MBB, II, DL, TII->get(IsLA64 ? LoongArch::ST_D : LoongArch::ST_W))
180 if (MIOpc == LoongArch::PseudoLD_CFR) {
181 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass);
182 BuildMI(MBB, II, DL, TII->get(IsLA64 ? LoongArch::LD_D : LoongArch::LD_W),
186 BuildMI(MBB, II, DL, TII->get(LoongArch::MOVGR2CF))
208 if (!MRI->canReserveReg(LoongArch::R22))