Home | History | Annotate | Download | only in PowerPC

Lines Matching full:ppc

19 #include "PPC.h"
116 return "Linux PPC Assembly Printer";
137 return "Darwin PPC Assembly Printer";
252 break; // PPC never has a prefix.
346 MII->getOpcode() == PPC::DBG_VALUE ||
356 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::NOP));
374 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::LI8)
377 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::RLDIC)
381 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ORIS8)
385 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ORI8)
390 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MTCTR8).addReg(ScratchReg));
391 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BCTRL8));
401 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::NOP));
413 ((Subtarget->isPPC64() && MI->getOperand(0).getReg() == PPC::X3) ||
414 (!Subtarget->isPPC64() && MI->getOperand(0).getReg() == PPC::R3)) &&
417 ((Subtarget->isPPC64() && MI->getOperand(1).getReg() == PPC::X3) ||
418 (!Subtarget->isPPC64() && MI->getOperand(1).getReg() == PPC::R3)) &&
432 PPC::BL8_NOP_TLS : PPC::BL_TLS)
457 case PPC::MoveGOTtoLR: {
474 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BL).addExpr(OffsExpr));
477 case PPC::MovePCtoLR:
478 case PPC::MovePCtoLR8: {
486 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BL)
495 case PPC::UpdateGBR: {
503 TmpInst.setOpcode(PPC::LWZ);
520 TmpInst.setOpcode(PPC::ADD4);
527 case PPC::LWZtoc: {
533 TmpInst.setOpcode(PPC::LWZ);
568 case PPC::LDtocJTI:
569 case PPC::LDtocCPT:
570 case PPC::LDtocBA:
571 case PPC::LDtoc: {
577 TmpInst.setOpcode(PPC::LD);
602 case PPC::ADDIStocHA: {
610 TmpInst.setOpcode(PPC::ADDIS8);
648 case PPC::LDtocL: {
655 TmpInst.setOpcode(PPC::LD);
690 case PPC::ADDItocL: {
697 TmpInst.setOpcode(PPC::ADDI8);
724 case PPC::ADDISgotTprelHA: {
734 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS8)
740 case PPC::LDgotTprelL:
741 case PPC::LDgotTprelL32: {
746 TmpInst.setOpcode(isPPC64 ? PPC::LD : PPC::LWZ);
758 case PPC::PPC32PICGOT: {
763 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BL)
774 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MFLR)
776 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::LWZ)
780 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADD4)
786 case PPC::PPC32GOT: {
794 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::LI)
797 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS)
803 case PPC::ADDIStlsgdHA: {
813 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS8)
819 case PPC::ADDItlsgdL:
822 case PPC::ADDItlsgdL32: {
833 MCInstBuilder(Subtarget->isPPC64() ? PPC::ADDI8 : PPC::ADDI)
839 case PPC::GETtlsADDR:
842 case PPC
848 case PPC::ADDIStlsldHA: {
858 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS8)
864 case PPC::ADDItlsldL:
867 case PPC::ADDItlsldL32: {
878 MCInstBuilder(Subtarget->isPPC64() ? PPC::ADDI8 : PPC::ADDI)
884 case PPC::GETtlsldADDR:
887 case PPC::GETtlsldADDR32: {
893 case PPC::ADDISdtprelHA:
896 case PPC::ADDISdtprelHA32: {
907 MCInstBuilder(Subtarget->isPPC64() ? PPC::ADDIS8 : PPC::ADDIS)
909 .addReg(Subtarget->isPPC64() ? PPC::X3 : PPC::R3)
913 case PPC::ADDIdtprelL:
916 case PPC::ADDIdtprelL32: {
926 MCInstBuilder(Subtarget->isPPC64() ? PPC::ADDI8 : PPC::ADDI)
932 case PPC::MFOCRF:
933 case PPC::MFOCRF8:
938 MI->getOpcode() == PPC::MFOCRF ? PPC::MFCR : PPC::MFCR8;
946 case PPC::MTOCRF:
947 case PPC::MTOCRF8:
952 MI->getOpcode() == PPC::MTOCRF ? PPC::MTCRF : PPC::MTCRF8;
963 case PPC::LD:
964 case PPC::STD:
965 case PPC::LWA_32:
966 case PPC::LWA: {
974 unsigned OpNum = (MI->getOpcode() == PPC::STD) ? 2 : 1;
1131 && !MF->getRegInfo().use_empty(PPC::X2)) {
1145 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS)
1146 .addReg(PPC::X2)
1147 .addReg(PPC::X12)
1152 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDI)
1153 .addReg(PPC::X2)
1154 .addReg(PPC::X2)
1193 "ppc",
1217 unsigned Directive = PPC::DIR_NONE;
1222 if (STI.hasMFOCRF() && Directive < PPC::DIR_970)
1223 Directive = PPC::DIR_970;
1224 if (STI.hasAltivec() && Directive < PPC::DIR_7400)
1225 Directive = PPC::DIR_7400;
1226 if (STI.isPPC64() && Directive < PPC::DIR_64)
1227 Directive = PPC::DIR_64;
1230 assert(Directive <= PPC::DIR_64 && "Directive out of range.");
1315 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MFLR).addReg(PPC::R0));
1317 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BCLalways).addExpr(Anon));
1320 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MFLR).addReg(PPC::R11));
1323 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::ADDIS)
1324 .addReg(PPC::R11)
1325 .addReg(PPC::R11)
1328 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MTLR).addReg(PPC::R0));
1333 EmitToStreamer(OutStreamer, MCInstBuilder(isPPC64 ? PPC::LDU : PPC::LWZU)
1334 .addReg(PPC::R12)
1336 .addReg(PPC::R11));
1338 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MTCTR).addReg(PPC::R12));
1340 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BCTR));
1379 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::LIS)
1380 .addReg(PPC::R11)
1387 EmitToStreamer(OutStreamer, MCInstBuilder(isPPC64 ? PPC::LDU : PPC::LWZU)
1388 .addReg(PPC::R12)
1390 .addReg(PPC::R11));
1393 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::MTCTR).addReg(PPC::R12));
1395 EmitToStreamer(OutStreamer, MCInstBuilder(PPC::BCTR));
1419 // Darwin/PPC always uses mach-o.
1508 /// createPPCAsmPrinterPass - Returns a pass that prints the PPC assembly code