Lines Matching refs:PPC

17 #include "PPC.h"
60 : PPCGenRegisterInfo(ST.isPPC64() ? PPC::LR8 : PPC::LR,
64 ImmToIdxMap[PPC::LD] = PPC::LDX; ImmToIdxMap[PPC::STD] = PPC::STDX;
65 ImmToIdxMap[PPC::LBZ] = PPC::LBZX; ImmToIdxMap[PPC::STB] = PPC::STBX;
66 ImmToIdxMap[PPC::LHZ] = PPC::LHZX; ImmToIdxMap[PPC::LHA] = PPC::LHAX;
67 ImmToIdxMap[PPC::LWZ] = PPC::LWZX; ImmToIdxMap[PPC::LWA] = PPC::LWAX;
68 ImmToIdxMap[PPC::LFS] = PPC::LFSX; ImmToIdxMap[PPC::LFD] = PPC::LFDX;
69 ImmToIdxMap[PPC::STH] = PPC::STHX; ImmToIdxMap[PPC::STW] = PPC::STWX;
70 ImmToIdxMap[PPC::STFS] = PPC::STFSX; ImmToIdxMap[PPC::STFD] = PPC::STFDX;
71 ImmToIdxMap[PPC::ADDI] = PPC::ADD4;
72 ImmToIdxMap[PPC::LWA_32] = PPC::LWAX_32;
75 ImmToIdxMap[PPC::LHA8] = PPC::LHAX8; ImmToIdxMap[PPC::LBZ8] = PPC::LBZX8;
76 ImmToIdxMap[PPC::LHZ8] = PPC::LHZX8; ImmToIdxMap[PPC::LWZ8] = PPC::LWZX8;
77 ImmToIdxMap[PPC::STB8] = PPC::STBX8; ImmToIdxMap[PPC::STH8] = PPC::STHX8;
78 ImmToIdxMap[PPC::STW8] = PPC::STWX8; ImmToIdxMap[PPC::STDU] = PPC::STDUX;
79 ImmToIdxMap[PPC::ADDI8] = PPC::ADD8;
91 return &PPC::G8RC_NOX0RegClass;
92 return &PPC::GPRC_NOR0RegClass;
96 return &PPC::G8RCRegClass;
97 return &PPC::GPRCRegClass;
148 Reserved.set(PPC::ZERO);
149 Reserved.set(PPC::ZERO8);
153 Reserved.set(PPC::FP);
154 Reserved.set(PPC::FP8);
158 Reserved.set(PPC::BP);
159 Reserved.set(PPC::BP8);
163 Reserved.set(PPC::CTR);
164 Reserved.set(PPC::CTR8);
166 Reserved.set(PPC::R1);
167 Reserved.set(PPC::LR);
168 Reserved.set(PPC::LR8);
169 Reserved.set(PPC::RM);
172 Reserved.set(PPC::VRSAVE);
176 Reserved.set(PPC::R2); // System-reserved register
177 Reserved.set(PPC::R13); // Small Data Area pointer register
182 Reserved.set(PPC::R13);
184 Reserved.set(PPC::X1);
185 Reserved.set(PPC::X13);
188 Reserved.set(PPC::X31);
191 Reserved.set(PPC::X30);
195 Reserved.set(PPC::X2);
200 Reserved.set(PPC::R31);
203 Reserved.set(PPC::R30);
207 for (TargetRegisterClass::iterator I = PPC::VRRCRegClass.begin(),
208 IE = PPC::VRRCRegClass.end(); I != IE; ++I)
223 case PPC::G8RC_NOX0RegClassID:
224 case PPC::GPRC_NOR0RegClassID:
225 case PPC::G8RCRegClassID:
226 case PPC::GPRCRegClassID: {
230 case PPC::F8RCRegClassID:
231 case PPC::F4RCRegClassID:
232 case PPC::VRRCRegClassID:
234 case PPC::CRRCRegClassID:
282 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
283 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
287 BuildMI(MBB, II, dl, TII.get(PPC::ADDI), Reg)
288 .addReg(PPC::R31)
291 BuildMI(MBB, II, dl, TII.get(PPC::LD), Reg)
293 .addReg(PPC::X1);
295 BuildMI(MBB, II, dl, TII.get(PPC::LWZ), Reg)
297 .addReg(PPC::R1);
312 BuildMI(MBB, II, dl, TII.get(PPC::LI8), NegSizeReg)
317 BuildMI(MBB, II, dl, TII.get(PPC::AND8), NegSizeReg)
323 BuildMI(MBB, II, dl, TII.get(PPC::STDUX), PPC::X1)
325 .addReg(PPC::X1)
327 BuildMI(MBB, II, dl, TII.get(PPC::ADDI8), MI.getOperand(0).getReg())
328 .addReg(PPC::X1)
337 BuildMI(MBB, II, dl, TII.get(PPC::LI), NegSizeReg)
342 BuildMI(MBB, II, dl, TII.get(PPC::AND), NegSizeReg)
348 BuildMI(MBB, II, dl, TII.get(PPC::STWUX), PPC::R1)
350 .addReg(PPC::R1)
352 BuildMI(MBB, II, dl, TII.get(PPC::ADDI), MI.getOperand(0).getReg())
353 .addReg(PPC::R1)
380 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
381 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
388 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MFOCRF8 : PPC::MFOCRF), Reg)
393 if (SrcReg != PPC::CR0) {
398 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWINM8 : PPC::RLWINM), Reg)
405 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::STW8 : PPC::STW))
424 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
425 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
432 addFrameReference(BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::LWZ8 : PPC::LWZ),
437 if (DestReg != PPC::CR0) {
443 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::RLWINM8 : PPC::RLWINM), Reg)
448 BuildMI(MBB, II, dl, TII.get(LP64 ? PPC::MTOCRF8 : PPC::MTOCRF), DestReg)
465 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
469 BuildMI(MBB, II, dl, TII.get(PPC::MFVRSAVEv), Reg)
472 addFrameReference(BuildMI(MBB, II, dl, TII.get(PPC::STW))
490 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
496 addFrameReference(BuildMI(MBB, II, dl, TII.get(PPC::LWZ),
499 BuildMI(MBB, II, dl, TII.get(PPC::MTVRSAVEv), DestReg)
515 if (Subtarget.isSVR4ABI() && PPC::CR2 <= Reg && Reg <= PPC::CR4) {
535 case PPC::LWA:
536 case PPC::LWA_32:
537 case PPC::LD:
538 case PPC::STD:
586 (OpC == PPC::DYNALLOC || OpC == PPC::DYNALLOC8)) {
592 if (OpC == PPC::SPILL_CR) {
595 } else if (OpC == PPC::RESTORE_CR) {
598 } else if (OpC == PPC::SPILL_VRSAVE) {
601 } else if (OpC == PPC::RESTORE_VRSAVE) {
633 // normal PPC "ri" instruction, any 16-bit value can be safely encoded. If
638 assert(OpC != PPC::DBG_VALUE &&
649 const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
650 const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
656 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LIS8 : PPC::LIS), SRegHi)
658 BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::ORI8 : PPC::ORI), SReg)
689 return TFI->hasFP(MF) ? PPC::R31 : PPC::R1;
691 return TFI->hasFP(MF) ? PPC::X31 : PPC::X1;
698 return Subtarget.isPPC64() ? PPC::X30 : PPC::R30;
764 if ((OpC == PPC::ADDI || OpC == PPC::ADDI8) &&
798 unsigned ADDriOpc = Subtarget.isPPC64() ? PPC::ADDI8 : PPC::ADDI;
835 return MI->getOpcode() == PPC::DBG_VALUE || // DBG_VALUE is always Reg+Imm