Lines Matching full:ppc
56 EnableBasePointer("ppc-use-base-pointer", cl::Hidden, cl::init(true),
60 AlwaysBasePointer("ppc-always-use-base-pointer", cl::Hidden, cl::init(false),
64 EnableGPRToVecSpills("ppc-enable-gpr-to-vsr-spills", cl::Hidden, cl::init(false),
68 StackPtrConst("ppc-stack-ptr-caller-preserved",
74 MaxCRBitSpillDist("ppc-max-crbit-spill-dist",
76 "spill on ppc"),
88 ReportAccMoves("ppc-report-acc-moves",
99 : PPCGenRegisterInfo(TM.isPPC64() ? PPC::LR8 : PPC::LR, in PPCRegisterInfo()
103 ImmToIdxMap[PPC::LD] = PPC::LDX; ImmToIdxMap[PPC::STD] = PPC::STDX; in PPCRegisterInfo()
104 ImmToIdxMap[PPC::LBZ] = PPC::LBZX; ImmToIdxMap[PPC::STB] = PPC::STBX; in PPCRegisterInfo()
105 ImmToIdxMap[PPC::LHZ] = PPC::LHZX; ImmToIdxMap[PPC::LHA] = PPC::LHAX; in PPCRegisterInfo()
106 ImmToIdxMap[PPC::LWZ] = PPC::LWZX; ImmToIdxMap[PPC::LWA] = PPC::LWAX; in PPCRegisterInfo()
107 ImmToIdxMap[PPC::LFS] = PPC::LFSX; ImmToIdxMap[PPC::LFD] = PPC::LFDX; in PPCRegisterInfo()
108 ImmToIdxMap[PPC::STH] = PPC::STHX; ImmToIdxMap[PPC::STW] = PPC::STWX; in PPCRegisterInfo()
109 ImmToIdxMap[PPC::STFS] = PPC::STFSX; ImmToIdxMap[PPC::STFD] = PPC::STFDX; in PPCRegisterInfo()
110 ImmToIdxMap[PPC::ADDI] = PPC::ADD4; in PPCRegisterInfo()
111 ImmToIdxMap[PPC::LWA_32] = PPC::LWAX_32; in PPCRegisterInfo()
114 ImmToIdxMap[PPC::LHA8] = PPC::LHAX8; ImmToIdxMap[PPC::LBZ8] = PPC::LBZX8; in PPCRegisterInfo()
115 ImmToIdxMap[PPC::LHZ8] = PPC::LHZX8; ImmToIdxMap[PPC::LWZ8] = PPC::LWZX8; in PPCRegisterInfo()
116 ImmToIdxMap[PPC::STB8] = PPC::STBX8; ImmToIdxMap[PPC::STH8] = PPC::STHX8; in PPCRegisterInfo()
117 ImmToIdxMap[PPC::STW8] = PPC::STWX8; ImmToIdxMap[PPC::STDU] = PPC::STDUX; in PPCRegisterInfo()
118 ImmToIdxMap[PPC::ADDI8] = PPC::ADD8; in PPCRegisterInfo()
119 ImmToIdxMap[PPC::LQ] = PPC::LQX_PSEUDO; in PPCRegisterInfo()
120 ImmToIdxMap[PPC::STQ] = PPC::STQX_PSEUDO; in PPCRegisterInfo()
123 ImmToIdxMap[PPC::DFLOADf32] = PPC::LXSSPX; in PPCRegisterInfo()
124 ImmToIdxMap[PPC::DFLOADf64] = PPC::LXSDX; in PPCRegisterInfo()
125 ImmToIdxMap[PPC::SPILLTOVSR_LD] = PPC::SPILLTOVSR_LDX; in PPCRegisterInfo()
126 ImmToIdxMap[PPC::SPILLTOVSR_ST] = PPC::SPILLTOVSR_STX; in PPCRegisterInfo()
127 ImmToIdxMap[PPC::DFSTOREf32] = PPC::STXSSPX; in PPCRegisterInfo()
128 ImmToIdxMap[PPC::DFSTOREf64] = PPC::STXSDX; in PPCRegisterInfo()
129 ImmToIdxMap[PPC::LXV] = PPC::LXVX; in PPCRegisterInfo()
130 ImmToIdxMap[PPC::LXSD] = PPC::LXSDX; in PPCRegisterInfo()
131 ImmToIdxMap[PPC::LXSSP] = PPC::LXSSPX; in PPCRegisterInfo()
132 ImmToIdxMap[PPC::STXV] = PPC::STXVX; in PPCRegisterInfo()
133 ImmToIdxMap[PPC::STXSD] = PPC::STXSDX; in PPCRegisterInfo()
134 ImmToIdxMap[PPC::STXSSP] = PPC::STXSSPX; in PPCRegisterInfo()
137 ImmToIdxMap[PPC::EVLDD] = PPC::EVLDDX; in PPCRegisterInfo()
138 ImmToIdxMap[PPC::EVSTDD] = PPC::EVSTDDX; in PPCRegisterInfo()
139 ImmToIdxMap[PPC::SPESTW] = PPC::SPESTWX; in PPCRegisterInfo()
140 ImmToIdxMap[PPC::SPELWZ] = PPC::SPELWZX; in PPCRegisterInfo()
143 ImmToIdxMap[PPC::PLBZ] = PPC::LBZX; ImmToIdxMap[PPC::PLBZ8] = PPC::LBZX8; in PPCRegisterInfo()
144 ImmToIdxMap[PPC::PLHZ] = PPC::LHZX; ImmToIdxMap[PPC::PLHZ8] = PPC::LHZX8; in PPCRegisterInfo()
145 ImmToIdxMap[PPC::PLHA] = PPC::LHAX; ImmToIdxMap[PPC::PLHA8] = PPC::LHAX8; in PPCRegisterInfo()
146 ImmToIdxMap[PPC::PLWZ] = PPC::LWZX; ImmToIdxMap[PPC::PLWZ8] = PPC::LWZX8; in PPCRegisterInfo()
147 ImmToIdxMap[PPC::PLWA] = PPC::LWAX; ImmToIdxMap[PPC::PLWA8] = PPC::LWAX; in PPCRegisterInfo()
148 ImmToIdxMap[PPC::PLD] = PPC::LDX; ImmToIdxMap[PPC::PSTD] = PPC::STDX; in PPCRegisterInfo()
150 ImmToIdxMap[PPC::PSTB] = PPC::STBX; ImmToIdxMap[PPC::PSTB8] = PPC::STBX8; in PPCRegisterInfo()
151 ImmToIdxMap[PPC::PSTH] = PPC::STHX; ImmToIdxMap[PPC::PSTH8] = PPC::STHX8; in PPCRegisterInfo()
152 ImmToIdxMap[PPC::PSTW] = PPC::STWX; ImmToIdxMap[PPC::PSTW8] = PPC::STWX8; in PPCRegisterInfo()
154 ImmToIdxMap[PPC::PLFS] = PPC::LFSX; ImmToIdxMap[PPC::PSTFS] = PPC::STFSX; in PPCRegisterInfo()
155 ImmToIdxMap[PPC::PLFD] = PPC::LFDX; ImmToIdxMap[PPC::PSTFD] = PPC::STFDX; in PPCRegisterInfo()
156 ImmToIdxMap[PPC::PLXSSP] = PPC::LXSSPX; ImmToIdxMap[PPC::PSTXSSP] = PPC::STXSSPX; in PPCRegisterInfo()
157 ImmToIdxMap[PPC::PLXSD] = PPC::LXSDX; ImmToIdxMap[PPC::PSTXSD] = PPC::STXSDX; in PPCRegisterInfo()
158 ImmToIdxMap[PPC::PLXV] = PPC::LXVX; ImmToIdxMap[PPC::PSTXV] = PPC::STXVX; in PPCRegisterInfo()
160 ImmToIdxMap[PPC::LXVP] = PPC::LXVPX; in PPCRegisterInfo()
161 ImmToIdxMap[PPC::STXVP] = PPC::STXVPX; in PPCRegisterInfo()
162 ImmToIdxMap[PPC::PLXVP] = PPC::LXVPX; in PPCRegisterInfo()
163 ImmToIdxMap[PPC::PSTXVP] = PPC::STXVPX; in PPCRegisterInfo()
175 return &PPC::G8RC_NOX0RegClass; in getPointerRegClass()
176 return &PPC::GPRC_NOR0RegClass; in getPointerRegClass()
180 return &PPC::G8RCRegClass; in getPointerRegClass()
181 return &PPC::GPRCRegClass; in getPointerRegClass()
212 bool SaveR2 = MF->getRegInfo().isAllocatable(PPC::X2) && in getCalleeSavedRegs()
350 for (unsigned PseudoReg : {PPC::ZERO, PPC::ZERO8, PPC::RM}) in adjustStackMapLiveOutMask()
361 markSuperRegs(Reserved, PPC::ZERO); in getReservedRegs()
365 markSuperRegs(Reserved, PPC::FP); in getReservedRegs()
369 markSuperRegs(Reserved, PPC::BP); in getReservedRegs()
373 markSuperRegs(Reserved, PPC::CTR); in getReservedRegs()
374 markSuperRegs(Reserved, PPC::CTR8); in getReservedRegs()
376 markSuperRegs(Reserved, PPC::R1); in getReservedRegs()
377 markSuperRegs(Reserved, PPC::LR); in getReservedRegs()
378 markSuperRegs(Reserved, PPC::LR8); in getReservedRegs()
379 markSuperRegs(Reserved, PPC::RM); in getReservedRegs()
381 markSuperRegs(Reserved, PPC::VRSAVE); in getReservedRegs()
392 markSuperRegs(Reserved, PPC::R2); // System-reserved register in getReservedRegs()
393 markSuperRegs(Reserved, PPC::R13); // Small Data Area pointer register in getReservedRegs()
399 markSuperRegs(Reserved, PPC::R2); // System-reserved register in getReservedRegs()
403 markSuperRegs(Reserved, PPC::R13); in getReservedRegs()
406 markSuperRegs(Reserved, PPC::R31); in getReservedRegs()
411 markSuperRegs(Reserved, PPC::R29); in getReservedRegs()
413 markSuperRegs(Reserved, PPC::R30); in getReservedRegs()
417 markSuperRegs(Reserved, PPC::R30); in getReservedRegs()
421 for (MCRegister Reg : PPC::VRRCRegClass) in getReservedRegs()
451 return PhysReg != PPC::R1 && PhysReg != PPC::X1; in isAsmClobberable()
517 if ((Opcode == PPC::RESTORE_QUADWORD) || (Opcode == PPC::SPILL_QUADWORD)) { in requiresFrameIndexScavenging()
599 MRI->getRegClass(ResultReg)->contains(PPC::UACC0) && in getRegAllocationHints()
603 if (RegClass->contains(PPC::VSRp0)) { in getRegAllocationHints()
606 if (HintReg >= PPC::VSRp0 && HintReg <= PPC::VSRp31) in getRegAllocationHints()
608 } else if (RegClass->contains(PPC::ACC0)) { in getRegAllocationHints()
609 HintReg = PPC::ACC0 + (UACCPhys - PPC::UACC0); in getRegAllocationHints()
610 if (HintReg >= PPC::ACC0 && HintReg <= PPC::ACC7) in getRegAllocationHints()
616 case PPC::BUILD_UACC: { in getRegAllocationHints()
619 if (MRI->getRegClass(ResultReg)->contains(PPC::ACC0) && in getRegAllocationHints()
622 assert((ACCPhys >= PPC::ACC0 && ACCPhys <= PPC::ACC7) && in getRegAllocationHints()
624 Register HintReg = PPC::UACC0 + (ACCPhys - PPC::ACC0); in getRegAllocationHints()
642 case PPC::G8RC_NOX0RegClassID: in getRegPressureLimit()
643 case PPC::GPRC_NOR0RegClassID: in getRegPressureLimit()
644 case PPC::SPERCRegClassID: in getRegPressureLimit()
645 case PPC::G8RCRegClassID: in getRegPressureLimit()
646 case PPC::GPRCRegClassID: { in getRegPressureLimit()
650 case PPC::F4RCRegClassID: in getRegPressureLimit()
651 case PPC::F8RCRegClassID: in getRegPressureLimit()
652 case PPC::VSLRCRegClassID: in getRegPressureLimit()
654 case PPC::VFRCRegClassID: in getRegPressureLimit()
655 case PPC::VRRCRegClassID: { in getRegPressureLimit()
663 case PPC::VSFRCRegClassID: in getRegPressureLimit()
664 case PPC::VSSRCRegClassID: in getRegPressureLimit()
665 case PPC::VSRCRegClassID: { in getRegPressureLimit()
673 case PPC::CRRCRegClassID: in getRegPressureLimit()
693 RC == &PPC::G8RCRegClass) { in getLargestLegalSuperClass()
695 return &PPC::SPILLTOVSRRCRegClass; in getLargestLegalSuperClass()
697 if (RC == &PPC::GPRCRegClass && EnableGPRToVecSpills) in getLargestLegalSuperClass()
706 case PPC::VSSRCRegClassID: in getLargestLegalSuperClass()
708 case PPC::VSFRCRegClassID: in getLargestLegalSuperClass()
709 case PPC::VSRCRegClassID: in getLargestLegalSuperClass()
711 case PPC::VSRpRCRegClassID: in getLargestLegalSuperClass()
713 case PPC::ACCRCRegClassID: in getLargestLegalSuperClass()
714 case PPC::UACCRCRegClassID: in getLargestLegalSuperClass()
757 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in lowerDynamicAlloc()
758 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in lowerDynamicAlloc()
767 BuildMI(MBB, II, dl, TII.get(PPC::STDUX), PPC::X1) in lowerDynamicAlloc()
769 .addReg(PPC::X1) in lowerDynamicAlloc()
771 BuildMI(MBB, II, dl, TII.get(PPC::ADDI8), MI.getOperand(0).getReg()) in lowerDynamicAlloc()
772 .addReg(PPC::X1) in lowerDynamicAlloc()
775 BuildMI(MBB, II, dl, TII.get(PPC::STWUX), PPC::R1) in lowerDynamicAlloc()
777 .addReg(PPC::R1) in lowerDynamicAlloc()
779 BuildMI(MBB, II, dl, TII.get(PPC::ADDI), MI.getOperand(0).getReg()) in lowerDynamicAlloc()
780 .addReg(PPC::R1) in lowerDynamicAlloc()
823 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in prepareDynamicAlloca()
824 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in prepareDynamicAlloca()
828 BuildMI(MBB, II, dl, TII.get(PPC::ADDI8), FramePointer) in prepareDynamicAlloca()
829 .addReg(PPC::X31) in prepareDynamicAlloca()
832 BuildMI(MBB, II, dl, TII.get(PPC::ADDI), FramePointer) in prepareDynamicAlloca()
833 .addReg(PPC::R31) in prepareDynamicAlloca()
836 BuildMI(MBB, II, dl, TII.get(PPC::LD), FramePointer) in prepareDynamicAlloca()
838 .addReg(PPC::X1); in prepareDynamicAlloca()
840 BuildMI(MBB, II, dl, TII.get(PPC::LWZ), FramePointer) in prepareDynamicAlloca()
842 .addReg(PPC::R1); in prepareDynamicAlloca()
852 BuildMI(MBB, II, dl, TII.get(PPC::LI8), NegSizeReg) in prepareDynamicAlloca()
857 BuildMI(MBB, II, dl, TII.get(PPC::AND8), NegSizeReg) in prepareDynamicAlloca()
869 BuildMI(MBB, II, dl, TII.get(PPC::LI), NegSizeReg) in prepareDynamicAlloca()
874 BuildMI(MBB, II, dl, TII.get(PPC::AND), NegSizeReg) in prepareDynamicAlloca()
899 const MCInstrDesc &CopyInst = TII.get(LP64 ? PPC::OR8 : PPC::OR); in lowerPrepareProbedAlloca()
940 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LI8 : PPC::LI), in lowerDynamicAreaOffset()
966 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in lowerCRSpilling()
967 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in lowerCRSpilling()
974 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MFOCRF8 : PPC::MFOCRF), Reg) in lowerCRSpilling()
979 if (SrcReg != PPC::CR0) { in lowerCRSpilling()
984 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWINM8 : PPC::RLWINM), Reg) in lowerCRSpilling()
991 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::STW8 : PPC::STW)) in lowerCRSpilling()
1011 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in lowerCRRestore()
1012 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in lowerCRRestore()
1019 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::LWZ8 : PPC::LWZ), in lowerCRRestore()
1024 if (DestReg != PPC::CR0) { in lowerCRRestore()
1030 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWINM8 : PPC::RLWINM), Reg) in lowerCRRestore()
1035 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MTOCRF8 : PPC::MTOCRF), DestReg) in lowerCRRestore()
1055 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in lowerCRBitSpilling()
1056 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in lowerCRBitSpilling()
1091 case PPC::CRUNSET: in lowerCRBitSpilling()
1092 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::LI8 : PPC::LI), Reg) in lowerCRBitSpilling()
1096 case PPC::CRSET: in lowerCRBitSpilling()
1097 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::LIS8 : PPC::LIS), Reg) in lowerCRBitSpilling()
1107 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::SETNBC8 : PPC::SETNBC), Reg) in lowerCRBitSpilling()
1117 if (SrcReg == PPC::CR0LT || SrcReg == PPC::CR1LT || in lowerCRBitSpilling()
1118 SrcReg == PPC::CR2LT || SrcReg == PPC::CR3LT || in lowerCRBitSpilling()
1119 SrcReg == PPC::CR4LT || SrcReg == PPC::CR5LT || in lowerCRBitSpilling()
1120 SrcReg == PPC::CR6LT || SrcReg == PPC::CR7LT) { in lowerCRBitSpilling()
1121 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::SETB8 : PPC::SETB), Reg) in lowerCRBitSpilling()
1132 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MFOCRF8 : PPC::MFOCRF), Reg) in lowerCRBitSpilling()
1143 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWINM8 : PPC::RLWINM), Reg) in lowerCRBitSpilling()
1148 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::STW8 : PPC::STW)) in lowerCRBitSpilling()
1156 Ins->setDesc(TII.get(PPC::UNENCODED_NOP)); in lowerCRBitSpilling()
1173 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in lowerCRBitRestore()
1174 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in lowerCRBitRestore()
1181 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::LWZ8 : PPC::LWZ), in lowerCRBitRestore()
1187 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MFOCRF8 : PPC::MFOCRF), RegO) in lowerCRBitRestore()
1192 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWIMI8 : PPC::RLWIMI), RegO) in lowerCRBitRestore()
1199 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MTOCRF8 : PPC::MTOCRF), in lowerCRBitRestore()
1217 std::string Dest = PPC::ACCRCRegClass.contains(DestReg) ? "acc" : "uacc"; in emitAccCopyInfo()
1218 std::string Src = PPC::ACCRCRegClass.contains(SrcReg) ? "acc" : "uacc"; in emitAccCopyInfo()
1253 Register Reg = (SrcReg > PPC::VSRp15) ? PPC::V0 + (SrcReg - PPC::VSRp16) * 2 in spillRegPairs()
1254 : PPC::VSL0 + (SrcReg - PPC::VSRp0) * 2; in spillRegPairs()
1255 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXV)) in spillRegPairs()
1259 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXV)) in spillRegPairs()
1264 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXV)) in spillRegPairs()
1268 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXV)) in spillRegPairs()
1324 bool IsPrimed = PPC::ACCRCRegClass.contains(SrcReg); in lowerACCSpilling()
1326 PPC::VSRp0 + (SrcReg - (IsPrimed ? PPC::ACC0 : PPC::UACC0)) * 2; in lowerACCSpilling()
1336 BuildMI(MBB, II, DL, TII.get(PPC::XXMFACC), SrcReg).addReg(SrcReg); in lowerACCSpilling()
1341 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXVP)) in lowerACCSpilling()
1344 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXVP)) in lowerACCSpilling()
1349 BuildMI(MBB, II, DL, TII.get(PPC::XXMTACC), SrcReg).addReg(SrcReg); in lowerACCSpilling()
1369 bool IsPrimed = PPC::ACCRCRegClass.contains(DestReg); in lowerACCRestore()
1371 PPC::VSRp0 + (DestReg - (IsPrimed ? PPC::ACC0 : PPC::UACC0)) * 2; in lowerACCRestore()
1378 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LXVP), Reg), in lowerACCRestore()
1380 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LXVP), Reg + 1), in lowerACCRestore()
1383 BuildMI(MBB, II, DL, TII.get(PPC::XXMTACC), DestReg).addReg(DestReg); in lowerACCRestore()
1403 const TargetRegisterClass *RC = &PPC::VSRpRCRegClass; in lowerWACCSpilling()
1408 BuildMI(MBB, II, DL, TII.get(PPC::DMXXEXTFDMR512), VSRpReg0) in lowerWACCSpilling()
1412 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXVP)) in lowerWACCSpilling()
1415 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STXVP)) in lowerWACCSpilling()
1437 const TargetRegisterClass *RC = &PPC::VSRpRCRegClass; in lowerWACCRestore()
1442 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LXVP), VSRpReg0), in lowerWACCRestore()
1444 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LXVP), VSRpReg1), in lowerWACCRestore()
1448 BuildMI(MBB, II, DL, TII.get(PPC::DMXXINSTFDMR512), DestReg) in lowerWACCRestore()
1469 Register Reg = PPC::X0 + (SrcReg - PPC::G8p0) * 2; in lowerQuadwordSpilling()
1472 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STD)) in lowerQuadwordSpilling()
1475 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::STD)) in lowerQuadwordSpilling()
1497 Register Reg = PPC::X0 + (DestReg - PPC::G8p0) * 2; in lowerQuadwordRestore()
1500 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LD), Reg), FrameIndex, in lowerQuadwordRestore()
1502 addFrameReference(BuildMI(MBB, II, DL, TII.get(PPC::LD), Reg + 1), FrameIndex, in lowerQuadwordRestore()
1519 if (PPC::CR2 <= Reg && Reg <= PPC::CR4) { in hasReservedSpillSlot()
1531 case PPC::LWA: in offsetMinAlignForOpcode()
1532 case PPC::LWA_32: in offsetMinAlignForOpcode()
1533 case PPC::LD: in offsetMinAlignForOpcode()
1534 case PPC::LDU: in offsetMinAlignForOpcode()
1535 case PPC::STD: in offsetMinAlignForOpcode()
1536 case PPC::STDU: in offsetMinAlignForOpcode()
1537 case PPC::DFLOADf32: in offsetMinAlignForOpcode()
1538 case PPC::DFLOADf64: in offsetMinAlignForOpcode()
1539 case PPC::DFSTOREf32: in offsetMinAlignForOpcode()
1540 case PPC::DFSTOREf64: in offsetMinAlignForOpcode()
1541 case PPC::LXSD: in offsetMinAlignForOpcode()
1542 case PPC::LXSSP: in offsetMinAlignForOpcode()
1543 case PPC::STXSD: in offsetMinAlignForOpcode()
1544 case PPC::STXSSP: in offsetMinAlignForOpcode()
1545 case PPC::STQ: in offsetMinAlignForOpcode()
1547 case PPC::EVLDD: in offsetMinAlignForOpcode()
1548 case PPC::EVSTDD: in offsetMinAlignForOpcode()
1550 case PPC::LXV: in offsetMinAlignForOpcode()
1551 case PPC::STXV: in offsetMinAlignForOpcode()
1552 case PPC::LQ: in offsetMinAlignForOpcode()
1553 case PPC::LXVP: in offsetMinAlignForOpcode()
1554 case PPC::STXVP: in offsetMinAlignForOpcode()
1610 if ((OpC == PPC::DYNAREAOFFSET || OpC == PPC::DYNAREAOFFSET8)) { in eliminateFrameIndex()
1618 (OpC == PPC::DYNALLOC || OpC == PPC::DYNALLOC8)) { in eliminateFrameIndex()
1625 (OpC == PPC::PREPARE_PROBED_ALLOCA_64 || in eliminateFrameIndex()
1626 OpC == PPC::PREPARE_PROBED_ALLOCA_32 || in eliminateFrameIndex()
1627 OpC == PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64 || in eliminateFrameIndex()
1628 OpC == PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32)) { in eliminateFrameIndex()
1635 if (OpC == PPC::SPILL_CR) { in eliminateFrameIndex()
1638 } else if (OpC == PPC::RESTORE_CR) { in eliminateFrameIndex()
1641 } else if (OpC == PPC::SPILL_CRBIT) { in eliminateFrameIndex()
1644 } else if (OpC == PPC::RESTORE_CRBIT) { in eliminateFrameIndex()
1647 } else if (OpC == PPC::SPILL_ACC || OpC == PPC::SPILL_UACC) { in eliminateFrameIndex()
1650 } else if (OpC == PPC::RESTORE_ACC || OpC == PPC::RESTORE_UACC) { in eliminateFrameIndex()
1653 } else if (OpC == PPC::STXVP && DisableAutoPairedVecSt) { in eliminateFrameIndex()
1656 } else if (OpC == PPC::SPILL_WACC) { in eliminateFrameIndex()
1659 } else if (OpC == PPC::RESTORE_WACC) { in eliminateFrameIndex()
1662 } else if (OpC == PPC::SPILL_QUADWORD) { in eliminateFrameIndex()
1665 } else if (OpC == PPC::RESTORE_QUADWORD) { in eliminateFrameIndex()
1696 if ((OpC == PPC::LXVP || OpC == PPC::STXVP) && in eliminateFrameIndex()
1699 unsigned NewOpc = OpC == PPC::LXVP ? PPC::PLXVP : PPC::PSTXVP; in eliminateFrameIndex()
1705 // normal PPC "ri" instruction, any 16-bit value can be safely encoded. If in eliminateFrameIndex()
1710 assert(OpC != PPC::DBG_VALUE && in eliminateFrameIndex()
1714 bool OffsetFitsMnemonic = (OpC == PPC::EVSTDD || OpC == PPC::EVLDD) ? in eliminateFrameIndex()
1731 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in eliminateFrameIndex()
1732 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in eliminateFrameIndex()
1736 RS->getRegsAvailable(&PPC::VSFRCRegClass).any(); in eliminateFrameIndex()
1744 SRegHi = SReg = is64Bit ? PPC::X4 : PPC::R4; in eliminateFrameIndex()
1747 VSReg = MF.getRegInfo().createVirtualRegister(&PPC::VSFRCRegClass); in eliminateFrameIndex()
1748 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::MTVSRD : PPC::MTVSRWZ), VSReg) in eliminateFrameIndex()
1757 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LI8 : PPC::LI), SReg) in eliminateFrameIndex()
1760 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LIS8 : PPC::LIS), SRegHi) in eliminateFrameIndex()
1762 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::ORI8 : PPC::ORI), SReg) in eliminateFrameIndex()
1796 BuildMI(MBB, ++II, dl, TII.get(is64Bit ? PPC::MFVSRD : PPC::MFVSRWZ), SReg) in eliminateFrameIndex()
1802 if (NewOpcode == PPC::LQX_PSEUDO || NewOpcode == PPC::STQX_PSEUDO) { in eliminateFrameIndex()
1804 Register NewReg = MF.getRegInfo().createVirtualRegister(&PPC::G8RCRegClass); in eliminateFrameIndex()
1805 BuildMI(MBB, II, dl, TII.get(PPC::ADD8), NewReg) in eliminateFrameIndex()
1808 MI.setDesc(TII.get(NewOpcode == PPC::LQX_PSEUDO ? PPC::LQ : PPC::STQ)); in eliminateFrameIndex()
1819 return TFI->hasFP(MF) ? PPC::R31 : PPC::R1; in getFrameRegister()
1821 return TFI->hasFP(MF) ? PPC::X31 : PPC::X1; in getFrameRegister()
1830 return PPC::X30; in getBaseRegister()
1833 return PPC::R29; in getBaseRegister()
1835 return PPC::R30; in getBaseRegister()
1872 if ((OpC == PPC::ADDI || OpC == PPC::ADDI8) && in needsFrameBaseReg()
1902 unsigned ADDriOpc = TM.isPPC64() ? PPC::ADDI8 : PPC::ADDI; in materializeFrameBaseRegister()
1961 return MI->getOpcode() == PPC::DBG_VALUE || // DBG_VALUE is always Reg+Imm in isFrameOffsetLegal()