Lines Matching refs:PPC
34 PPC::V0 , PPC::V1 , PPC::V2 , PPC::V3 , PPC::V4 , PPC::V5 , PPC::V6 , PPC::V7 ,
35 PPC::V8 , PPC::V9 , PPC::V10, PPC::V11, PPC::V12, PPC::V13, PPC::V14, PPC::V15,
36 PPC::V16, PPC::V17, PPC::V18, PPC::V19, PPC::V20, PPC::V21, PPC::V22, PPC::V23,
37 PPC::V24, PPC::V25, PPC::V26, PPC::V27, PPC::V28, PPC::V29, PPC::V30, PPC::V31
97 static const SpillSlot darwin64Offsets = {PPC::X31, -8}; in getCalleeSavedSpillSlots()
100 static const SpillSlot darwinOffsets = {PPC::R31, -4}; in getCalleeSavedSpillSlots()
116 {PPC::F31, -8}, in getCalleeSavedSpillSlots()
117 {PPC::F30, -16}, in getCalleeSavedSpillSlots()
118 {PPC::F29, -24}, in getCalleeSavedSpillSlots()
119 {PPC::F28, -32}, in getCalleeSavedSpillSlots()
120 {PPC::F27, -40}, in getCalleeSavedSpillSlots()
121 {PPC::F26, -48}, in getCalleeSavedSpillSlots()
122 {PPC::F25, -56}, in getCalleeSavedSpillSlots()
123 {PPC::F24, -64}, in getCalleeSavedSpillSlots()
124 {PPC::F23, -72}, in getCalleeSavedSpillSlots()
125 {PPC::F22, -80}, in getCalleeSavedSpillSlots()
126 {PPC::F21, -88}, in getCalleeSavedSpillSlots()
127 {PPC::F20, -96}, in getCalleeSavedSpillSlots()
128 {PPC::F19, -104}, in getCalleeSavedSpillSlots()
129 {PPC::F18, -112}, in getCalleeSavedSpillSlots()
130 {PPC::F17, -120}, in getCalleeSavedSpillSlots()
131 {PPC::F16, -128}, in getCalleeSavedSpillSlots()
132 {PPC::F15, -136}, in getCalleeSavedSpillSlots()
133 {PPC::F14, -144}, in getCalleeSavedSpillSlots()
136 {PPC::R31, -4}, in getCalleeSavedSpillSlots()
137 {PPC::R30, -8}, in getCalleeSavedSpillSlots()
138 {PPC::R29, -12}, in getCalleeSavedSpillSlots()
139 {PPC::R28, -16}, in getCalleeSavedSpillSlots()
140 {PPC::R27, -20}, in getCalleeSavedSpillSlots()
141 {PPC::R26, -24}, in getCalleeSavedSpillSlots()
142 {PPC::R25, -28}, in getCalleeSavedSpillSlots()
143 {PPC::R24, -32}, in getCalleeSavedSpillSlots()
144 {PPC::R23, -36}, in getCalleeSavedSpillSlots()
145 {PPC::R22, -40}, in getCalleeSavedSpillSlots()
146 {PPC::R21, -44}, in getCalleeSavedSpillSlots()
147 {PPC::R20, -48}, in getCalleeSavedSpillSlots()
148 {PPC::R19, -52}, in getCalleeSavedSpillSlots()
149 {PPC::R18, -56}, in getCalleeSavedSpillSlots()
150 {PPC::R17, -60}, in getCalleeSavedSpillSlots()
151 {PPC::R16, -64}, in getCalleeSavedSpillSlots()
152 {PPC::R15, -68}, in getCalleeSavedSpillSlots()
153 {PPC::R14, -72}, in getCalleeSavedSpillSlots()
159 {PPC::CR2, -4}, in getCalleeSavedSpillSlots()
162 {PPC::VRSAVE, -4}, in getCalleeSavedSpillSlots()
165 {PPC::V31, -16}, in getCalleeSavedSpillSlots()
166 {PPC::V30, -32}, in getCalleeSavedSpillSlots()
167 {PPC::V29, -48}, in getCalleeSavedSpillSlots()
168 {PPC::V28, -64}, in getCalleeSavedSpillSlots()
169 {PPC::V27, -80}, in getCalleeSavedSpillSlots()
170 {PPC::V26, -96}, in getCalleeSavedSpillSlots()
171 {PPC::V25, -112}, in getCalleeSavedSpillSlots()
172 {PPC::V24, -128}, in getCalleeSavedSpillSlots()
173 {PPC::V23, -144}, in getCalleeSavedSpillSlots()
174 {PPC::V22, -160}, in getCalleeSavedSpillSlots()
175 {PPC::V21, -176}, in getCalleeSavedSpillSlots()
176 {PPC::V20, -192}}; in getCalleeSavedSpillSlots()
180 {PPC::F31, -8}, in getCalleeSavedSpillSlots()
181 {PPC::F30, -16}, in getCalleeSavedSpillSlots()
182 {PPC::F29, -24}, in getCalleeSavedSpillSlots()
183 {PPC::F28, -32}, in getCalleeSavedSpillSlots()
184 {PPC::F27, -40}, in getCalleeSavedSpillSlots()
185 {PPC::F26, -48}, in getCalleeSavedSpillSlots()
186 {PPC::F25, -56}, in getCalleeSavedSpillSlots()
187 {PPC::F24, -64}, in getCalleeSavedSpillSlots()
188 {PPC::F23, -72}, in getCalleeSavedSpillSlots()
189 {PPC::F22, -80}, in getCalleeSavedSpillSlots()
190 {PPC::F21, -88}, in getCalleeSavedSpillSlots()
191 {PPC::F20, -96}, in getCalleeSavedSpillSlots()
192 {PPC::F19, -104}, in getCalleeSavedSpillSlots()
193 {PPC::F18, -112}, in getCalleeSavedSpillSlots()
194 {PPC::F17, -120}, in getCalleeSavedSpillSlots()
195 {PPC::F16, -128}, in getCalleeSavedSpillSlots()
196 {PPC::F15, -136}, in getCalleeSavedSpillSlots()
197 {PPC::F14, -144}, in getCalleeSavedSpillSlots()
200 {PPC::X31, -8}, in getCalleeSavedSpillSlots()
201 {PPC::X30, -16}, in getCalleeSavedSpillSlots()
202 {PPC::X29, -24}, in getCalleeSavedSpillSlots()
203 {PPC::X28, -32}, in getCalleeSavedSpillSlots()
204 {PPC::X27, -40}, in getCalleeSavedSpillSlots()
205 {PPC::X26, -48}, in getCalleeSavedSpillSlots()
206 {PPC::X25, -56}, in getCalleeSavedSpillSlots()
207 {PPC::X24, -64}, in getCalleeSavedSpillSlots()
208 {PPC::X23, -72}, in getCalleeSavedSpillSlots()
209 {PPC::X22, -80}, in getCalleeSavedSpillSlots()
210 {PPC::X21, -88}, in getCalleeSavedSpillSlots()
211 {PPC::X20, -96}, in getCalleeSavedSpillSlots()
212 {PPC::X19, -104}, in getCalleeSavedSpillSlots()
213 {PPC::X18, -112}, in getCalleeSavedSpillSlots()
214 {PPC::X17, -120}, in getCalleeSavedSpillSlots()
215 {PPC::X16, -128}, in getCalleeSavedSpillSlots()
216 {PPC::X15, -136}, in getCalleeSavedSpillSlots()
217 {PPC::X14, -144}, in getCalleeSavedSpillSlots()
220 {PPC::VRSAVE, -4}, in getCalleeSavedSpillSlots()
223 {PPC::V31, -16}, in getCalleeSavedSpillSlots()
224 {PPC::V30, -32}, in getCalleeSavedSpillSlots()
225 {PPC::V29, -48}, in getCalleeSavedSpillSlots()
226 {PPC::V28, -64}, in getCalleeSavedSpillSlots()
227 {PPC::V27, -80}, in getCalleeSavedSpillSlots()
228 {PPC::V26, -96}, in getCalleeSavedSpillSlots()
229 {PPC::V25, -112}, in getCalleeSavedSpillSlots()
230 {PPC::V24, -128}, in getCalleeSavedSpillSlots()
231 {PPC::V23, -144}, in getCalleeSavedSpillSlots()
232 {PPC::V22, -160}, in getCalleeSavedSpillSlots()
233 {PPC::V21, -176}, in getCalleeSavedSpillSlots()
234 {PPC::V20, -192}}; in getCalleeSavedSpillSlots()
263 assert(MBBI != Entry->end() && MBBI->getOpcode() == PPC::MTVRSAVE); in RemoveVRSaveCode()
275 if (MBBI->getOpcode() == PPC::MTVRSAVE) { in RemoveVRSaveCode()
291 assert(MBBI->getOpcode() == PPC::MFVRSAVE && "VRSAVE instrs wandered?"); in RemoveVRSaveCode()
332 if (!MO.isReg() || !PPC::VRRCRegClass.contains(MO.getReg())) in HandleVRSaveUpdate()
351 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORI), DstReg) in HandleVRSaveUpdate()
355 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORI), DstReg) in HandleVRSaveUpdate()
360 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORIS), DstReg) in HandleVRSaveUpdate()
364 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORIS), DstReg) in HandleVRSaveUpdate()
369 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORIS), DstReg) in HandleVRSaveUpdate()
373 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORIS), DstReg) in HandleVRSaveUpdate()
377 BuildMI(*MI->getParent(), MI, dl, TII.get(PPC::ORI), DstReg) in HandleVRSaveUpdate()
520 unsigned FPReg = is31 ? PPC::R31 : PPC::R1; in replaceFPWithRealFP()
521 unsigned FP8Reg = is31 ? PPC::X31 : PPC::X1; in replaceFPWithRealFP()
527 unsigned BP8Reg = HasBP ? (unsigned) PPC::X30 : FPReg; in replaceFPWithRealFP()
539 case PPC::FP: in replaceFPWithRealFP()
542 case PPC::FP8: in replaceFPWithRealFP()
545 case PPC::BP: in replaceFPWithRealFP()
548 case PPC::BP8: in replaceFPWithRealFP()
580 unsigned R0 = Subtarget.isPPC64() ? PPC::X0 : PPC::R0; in findScratchRegister()
581 unsigned R12 = Subtarget.isPPC64() ? PPC::X12 : PPC::R12; in findScratchRegister()
625 BitVector BV = RS.getRegsAvailable(Subtarget.isPPC64() ? &PPC::G8RCRegClass : in findScratchRegister()
626 &PPC::GPRCRegClass); in findScratchRegister()
638 *SR1 = FirstScratchReg == -1 ? (unsigned)PPC::NoRegister : FirstScratchReg; in findScratchRegister()
649 *SR2 = TwoUniqueRegsRequired ? (unsigned)PPC::NoRegister : *SR1; in findScratchRegister()
720 if (MBBI->getOpcode() == PPC::UPDATE_VRSAVE) { in emitPrologue()
747 unsigned SPReg = isPPC64 ? PPC::X1 : PPC::R1; in emitPrologue()
749 unsigned FPReg = isPPC64 ? PPC::X31 : PPC::R31; in emitPrologue()
750 unsigned LRReg = isPPC64 ? PPC::LR8 : PPC::LR; in emitPrologue()
752 unsigned TempReg = isPPC64 ? PPC::X12 : PPC::R12; // another scratch reg in emitPrologue()
754 const MCInstrDesc& MFLRInst = TII.get(isPPC64 ? PPC::MFLR8 in emitPrologue()
755 : PPC::MFLR ); in emitPrologue()
756 const MCInstrDesc& StoreInst = TII.get(isPPC64 ? PPC::STD in emitPrologue()
757 : PPC::STW ); in emitPrologue()
758 const MCInstrDesc& StoreUpdtInst = TII.get(isPPC64 ? PPC::STDU in emitPrologue()
759 : PPC::STWU ); in emitPrologue()
760 const MCInstrDesc& StoreUpdtIdxInst = TII.get(isPPC64 ? PPC::STDUX in emitPrologue()
761 : PPC::STWUX); in emitPrologue()
762 const MCInstrDesc& LoadImmShiftedInst = TII.get(isPPC64 ? PPC::LIS8 in emitPrologue()
763 : PPC::LIS ); in emitPrologue()
764 const MCInstrDesc& OrImmInst = TII.get(isPPC64 ? PPC::ORI8 in emitPrologue()
765 : PPC::ORI ); in emitPrologue()
766 const MCInstrDesc& OrInst = TII.get(isPPC64 ? PPC::OR8 in emitPrologue()
767 : PPC::OR ); in emitPrologue()
768 const MCInstrDesc& SubtractCarryingInst = TII.get(isPPC64 ? PPC::SUBFC8 in emitPrologue()
769 : PPC::SUBFC); in emitPrologue()
770 const MCInstrDesc& SubtractImmCarryingInst = TII.get(isPPC64 ? PPC::SUBFIC8 in emitPrologue()
771 : PPC::SUBFIC); in emitPrologue()
843 unsigned MfcrOpcode = PPC::MFCR8; in emitPrologue()
846 MfcrOpcode = PPC::MFOCRF8; in emitPrologue()
853 BuildMI(MBB, MBBI, dl, TII.get(PPC::STW8)) in emitPrologue()
868 unsigned MfcrOpcode = PPC::MFCR8; in emitPrologue()
871 MfcrOpcode = PPC::MFOCRF8; in emitPrologue()
890 .addReg(PPC::R30) in emitPrologue()
910 BuildMI(MBB, MBBI, dl, TII.get(PPC::STW8)) in emitPrologue()
931 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLDICL), ScratchReg) in emitPrologue()
936 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLWINM), ScratchReg) in emitPrologue()
1010 unsigned Reg = MRI->getDwarfRegNum(PPC::R30, true); in emitPrologue()
1060 if (Reg == PPC::LR || Reg == PPC::LR8 || Reg == PPC::RM) continue; in emitPrologue()
1064 if (PPC::CRBITRCRegClass.contains(Reg)) in emitPrologue()
1069 if (isSVR4ABI && (PPC::CR2 <= Reg && Reg <= PPC::CR4) in emitPrologue()
1075 if (isSVR4ABI && isPPC64 && (PPC::CR2 <= Reg && Reg <= PPC::CR4)) { in emitPrologue()
1079 unsigned CRReg = isELFv2ABI? Reg : (unsigned) PPC::CR2; in emitPrologue()
1129 unsigned SPReg = isPPC64 ? PPC::X1 : PPC::R1; in emitEpilogue()
1131 unsigned FPReg = isPPC64 ? PPC::X31 : PPC::R31; in emitEpilogue()
1133 unsigned TempReg = isPPC64 ? PPC::X12 : PPC::R12; // another scratch reg in emitEpilogue()
1134 const MCInstrDesc& MTLRInst = TII.get( isPPC64 ? PPC::MTLR8 in emitEpilogue()
1135 : PPC::MTLR ); in emitEpilogue()
1136 const MCInstrDesc& LoadInst = TII.get( isPPC64 ? PPC::LD in emitEpilogue()
1137 : PPC::LWZ ); in emitEpilogue()
1138 const MCInstrDesc& LoadImmShiftedInst = TII.get( isPPC64 ? PPC::LIS8 in emitEpilogue()
1139 : PPC::LIS ); in emitEpilogue()
1140 const MCInstrDesc& OrImmInst = TII.get( isPPC64 ? PPC::ORI8 in emitEpilogue()
1141 : PPC::ORI ); in emitEpilogue()
1142 const MCInstrDesc& AddImmInst = TII.get( isPPC64 ? PPC::ADDI8 in emitEpilogue()
1143 : PPC::ADDI ); in emitEpilogue()
1144 const MCInstrDesc& AddInst = TII.get( isPPC64 ? PPC::ADD8 in emitEpilogue()
1145 : PPC::ADD4 ); in emitEpilogue()
1194 bool UsesTCRet = RetOpcode == PPC::TCRETURNri || in emitEpilogue()
1195 RetOpcode == PPC::TCRETURNdi || in emitEpilogue()
1196 RetOpcode == PPC::TCRETURNai || in emitEpilogue()
1197 RetOpcode == PPC::TCRETURNri8 || in emitEpilogue()
1198 RetOpcode == PPC::TCRETURNdi8 || in emitEpilogue()
1199 RetOpcode == PPC::TCRETURNai8; in emitEpilogue()
1261 BuildMI(MBB, MBBI, dl, TII.get(PPC::LWZ8), TempReg) in emitEpilogue()
1265 BuildMI(MBB, MBBI, dl, TII.get(PPC::MTOCRF8), MustSaveCRs[i]) in emitEpilogue()
1276 BuildMI(MBB, MBBI, dl, TII.get(PPC::LWZ8), TempReg) in emitEpilogue()
1288 .addReg(PPC::R30) in emitEpilogue()
1300 BuildMI(MBB, MBBI, dl, TII.get(PPC::MTOCRF8), MustSaveCRs[i]) in emitEpilogue()
1311 (RetOpcode == PPC::BLR || RetOpcode == PPC::BLR8) && in emitEpilogue()
1348 if (RetOpcode == PPC::TCRETURNdi) { in createTailCallBranchInstr()
1351 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILB)). in createTailCallBranchInstr()
1353 } else if (RetOpcode == PPC::TCRETURNri) { in createTailCallBranchInstr()
1356 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBCTR)); in createTailCallBranchInstr()
1357 } else if (RetOpcode == PPC::TCRETURNai) { in createTailCallBranchInstr()
1360 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBA)).addImm(JumpTarget.getImm()); in createTailCallBranchInstr()
1361 } else if (RetOpcode == PPC::TCRETURNdi8) { in createTailCallBranchInstr()
1364 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILB8)). in createTailCallBranchInstr()
1366 } else if (RetOpcode == PPC::TCRETURNri8) { in createTailCallBranchInstr()
1369 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBCTR8)); in createTailCallBranchInstr()
1370 } else if (RetOpcode == PPC::TCRETURNai8) { in createTailCallBranchInstr()
1373 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBA8)).addImm(JumpTarget.getImm()); in createTailCallBranchInstr()
1433 (SavedRegs.test(PPC::CR2) || in determineCalleeSaves()
1434 SavedRegs.test(PPC::CR3) || in determineCalleeSaves()
1435 SavedRegs.test(PPC::CR4))) { in determineCalleeSaves()
1471 unsigned MinGPR = PPC::R31; in processFunctionBeforeFrameFinalized()
1472 unsigned MinG8R = PPC::X31; in processFunctionBeforeFrameFinalized()
1473 unsigned MinFPR = PPC::F31; in processFunctionBeforeFrameFinalized()
1474 unsigned MinVR = PPC::V31; in processFunctionBeforeFrameFinalized()
1489 if (PPC::GPRCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1497 } else if (PPC::G8RCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1505 } else if (PPC::F8RCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1513 } else if (PPC::CRBITRCRegClass.contains(Reg) || in processFunctionBeforeFrameFinalized()
1514 PPC::CRRCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1516 } else if (PPC::VRSAVERCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1518 } else if (PPC::VRRCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1626 if ((Subtarget.isSVR4ABI() && Reg == PPC::CR2) in processFunctionBeforeFrameFinalized()
1629 (PPC::CRBITRCRegClass.contains(Reg) || in processFunctionBeforeFrameFinalized()
1630 PPC::CRRCRegClass.contains(Reg)))) { in processFunctionBeforeFrameFinalized()
1647 if (PPC::VRSAVERCRegClass.contains(Reg)) { in processFunctionBeforeFrameFinalized()
1691 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass; in addScavengingSpillSlot()
1692 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass; in addScavengingSpillSlot()
1734 if (Reg == PPC::VRSAVE && !Subtarget.isDarwinABI()) in spillCalleeSavedRegisters()
1738 bool IsCRField = PPC::CR2 <= Reg && Reg <= PPC::CR4; in spillCalleeSavedRegisters()
1760 CRMIB = BuildMI(*MF, DL, TII.get(PPC::MFCR), PPC::R12) in spillCalleeSavedRegisters()
1764 MBB.insert(MI, addFrameReference(BuildMI(*MF, DL, TII.get(PPC::STW)) in spillCalleeSavedRegisters()
1765 .addReg(PPC::R12, in spillCalleeSavedRegisters()
1794 MBB.insert(MI, addFrameReference(BuildMI(*MF, DL, TII.get(PPC::LWZ), in restoreCRs()
1795 PPC::R12), in restoreCRs()
1797 RestoreOp = PPC::MTOCRF; in restoreCRs()
1798 MoveReg = PPC::R12; in restoreCRs()
1802 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR2) in restoreCRs()
1806 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR3) in restoreCRs()
1810 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR4) in restoreCRs()
1819 I->getOpcode() == PPC::ADJCALLSTACKUP) { in eliminateCallFramePseudoInstr()
1824 unsigned StackReg = is64Bit ? PPC::X1 : PPC::R1; in eliminateCallFramePseudoInstr()
1825 unsigned TmpReg = is64Bit ? PPC::X0 : PPC::R0; in eliminateCallFramePseudoInstr()
1826 unsigned ADDIInstr = is64Bit ? PPC::ADDI8 : PPC::ADDI; in eliminateCallFramePseudoInstr()
1827 unsigned ADDInstr = is64Bit ? PPC::ADD8 : PPC::ADD4; in eliminateCallFramePseudoInstr()
1828 unsigned LISInstr = is64Bit ? PPC::LIS8 : PPC::LIS; in eliminateCallFramePseudoInstr()
1829 unsigned ORIInstr = is64Bit ? PPC::ORI8 : PPC::ORI; in eliminateCallFramePseudoInstr()
1887 if (Reg == PPC::VRSAVE && !Subtarget.isDarwinABI()) in restoreCalleeSavedRegisters()
1890 if (Reg == PPC::CR2) { in restoreCalleeSavedRegisters()
1896 } else if (Reg == PPC::CR3) { in restoreCalleeSavedRegisters()
1899 } else if (Reg == PPC::CR4) { in restoreCalleeSavedRegisters()
1906 && !(PPC::CR2 <= Reg && Reg <= PPC::CR4)) { in restoreCalleeSavedRegisters()