Lines Matching refs:PPC

20 #include "PPC.h"
99 return "Linux PPC Assembly Printer";
117 return "Darwin PPC Assembly Printer";
250 break; // PPC never has a prefix.
334 case PPC::MovePCtoLR:
335 case PPC::MovePCtoLR8: {
343 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BL)
352 case PPC::LDtocJTI:
353 case PPC::LDtocCPT:
354 case PPC::LDtoc: {
360 TmpInst.setOpcode(PPC::LD);
383 case PPC::ADDIStocHA: {
391 TmpInst.setOpcode(PPC::ADDIS8);
428 case PPC::LDtocL: {
435 TmpInst.setOpcode(PPC::LD);
469 case PPC::ADDItocL: {
476 TmpInst.setOpcode(PPC::ADDI8);
505 case PPC::ADDISgotTprelHA: {
515 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDIS8)
517 .addReg(PPC::X2)
521 case PPC::LDgotTprelL: {
526 TmpInst.setOpcode(PPC::LD);
537 case PPC::ADDIStlsgdHA: {
547 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDIS8)
549 .addReg(PPC::X2)
553 case PPC::ADDItlsgdL: {
563 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDI8)
569 case PPC::GETtlsADDR: {
584 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BL8_NOP_TLS)
589 case PPC::ADDIStlsldHA: {
599 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDIS8)
601 .addReg(PPC::X2)
605 case PPC::ADDItlsldL: {
615 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDI8)
621 case PPC::GETtlsldADDR: {
636 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BL8_NOP_TLS)
641 case PPC::ADDISdtprelHA: {
651 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDIS8)
653 .addReg(PPC::X3)
657 case PPC::ADDIdtprelL: {
667 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDI8)
673 case PPC::MFOCRF:
674 case PPC::MFOCRF8:
679 MI->getOpcode() == PPC::MFOCRF ? PPC::MFCR : PPC::MFCR8;
687 case PPC::MTOCRF:
688 case PPC::MTOCRF8:
693 MI->getOpcode() == PPC::MTOCRF ? PPC::MTCRF : PPC::MTCRF8;
704 case PPC::LD:
705 case PPC::STD:
706 case PPC::LWA_32:
707 case PPC::LWA: {
715 unsigned OpNum = (MI->getOpcode() == PPC::STD) ? 2 : 1;
850 if (Subtarget.hasMFOCRF() && Directive < PPC::DIR_970)
851 Directive = PPC::DIR_970;
852 if (Subtarget.hasAltivec() && Directive < PPC::DIR_7400)
853 Directive = PPC::DIR_7400;
854 if (Subtarget.isPPC64() && Directive < PPC::DIR_64)
855 Directive = PPC::DIR_64;
856 assert(Directive <= PPC::DIR_64 && "Directive out of range.");
858 // FIXME: This is a total hack, finish mc'izing the PPC backend.
933 OutStreamer.EmitInstruction(MCInstBuilder(PPC::MFLR).addReg(PPC::R0));
935 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BCLalways).addExpr(Anon));
938 OutStreamer.EmitInstruction(MCInstBuilder(PPC::MFLR).addReg(PPC::R11));
941 OutStreamer.EmitInstruction(MCInstBuilder(PPC::ADDIS)
942 .addReg(PPC::R11)
943 .addReg(PPC::R11)
946 OutStreamer.EmitInstruction(MCInstBuilder(PPC::MTLR).addReg(PPC::R0));
951 OutStreamer.EmitInstruction(MCInstBuilder(isPPC64 ? PPC::LDU : PPC::LWZU)
952 .addReg(PPC::R12)
954 .addReg(PPC::R11));
956 OutStreamer.EmitInstruction(MCInstBuilder(PPC::MTCTR).addReg(PPC::R12));
958 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BCTR));
997 OutStreamer.EmitInstruction(MCInstBuilder(PPC::LIS)
998 .addReg(PPC::R11)
1005 OutStreamer.EmitInstruction(MCInstBuilder(isPPC64 ? PPC::LDU : PPC::LWZU)
1006 .addReg(PPC::R12)
1008 .addReg(PPC::R11));
1011 OutStreamer.EmitInstruction(MCInstBuilder(PPC::MTCTR).addReg(PPC::R12));
1013 OutStreamer.EmitInstruction(MCInstBuilder(PPC::BCTR));
1037 // Darwin/PPC always uses mach-o.
1126 /// createPPCAsmPrinterPass - Returns a pass that prints the PPC assembly code