diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 47 | ||||
-rw-r--r-- | lib/Target/PowerPC/PPCISelLowering.cpp | 2 | ||||
-rw-r--r-- | lib/Target/PowerPC/PPCInstr64Bit.td | 19 |
3 files changed, 11 insertions, 57 deletions
diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index 806c444927..c7c265ce78 100644 --- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -1311,53 +1311,6 @@ SDNode *PPCDAGToDAGISel::Select(SDNode *N) { return CurDAG->getMachineNode(PPC::ADDItocL, dl, MVT::i64, SDValue(Tmp, 0), GA); } - case PPCISD::LD_GOT_TPREL: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::LDgotTPREL, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - // FIXME: Try without these. Doesn't seem necessary. - case PPCISD::ADDIS_TLSGD_HA: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDIStlsgdHA, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::ADDI_TLSGD_L: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDItlsgdL, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::GET_TLS_ADDR: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::GETtlsADDR, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::ADDIS_TLSLD_HA: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDIStlsldHA, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::ADDI_TLSLD_L: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDItlsldL, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::GET_TLSLD_ADDR: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::GETtlsldADDR, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } - case PPCISD::ADDIS_DTPREL_HA: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDISdtprelHA, dl, MVT::i64, - N->getOperand(0), N->getOperand(1), - N->getOperand(2)); - } - case PPCISD::ADDI_DTPREL_L: { - assert (PPCSubTarget.isPPC64() && "Only supported for 64-bit ABI"); - return CurDAG->getMachineNode(PPC::ADDIdtprelL, dl, MVT::i64, - N->getOperand(0), N->getOperand(1)); - } } return SelectCode(N); diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp index 0748bd53a8..110ed6ef11 100644 --- a/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/lib/Target/PowerPC/PPCISelLowering.cpp @@ -1402,7 +1402,7 @@ SDValue PPCTargetLowering::LowerGlobalTLSAddress(SDValue Op, // copies dissolve during subsequent transforms. Chain = DAG.getCopyToReg(Chain, dl, PPC::X3, TLSAddr); SDValue DtvOffsetHi = DAG.getNode(PPCISD::ADDIS_DTPREL_HA, dl, PtrVT, - ParmReg, TGA, Chain); + Chain, ParmReg, TGA); return DAG.getNode(PPCISD::ADDI_DTPREL_L, dl, PtrVT, DtvOffsetHi, TGA); } diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td index 429c60b742..06520b19f9 100644 --- a/lib/Target/PowerPC/PPCInstr64Bit.td +++ b/lib/Target/PowerPC/PPCInstr64Bit.td @@ -723,49 +723,50 @@ def ADDItocL: Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, tocentry:$disp), def LDgotTPREL: Pseudo<(outs G8RC:$rD), (ins tlsaddr:$disp, G8RC:$reg), "#LDgotTPREL", [(set G8RC:$rD, - (PPCldGotTprel G8RC:$reg, tglobaltlsaddr:$disp))]>, + (PPCldGotTprel tglobaltlsaddr:$disp, G8RC:$reg))]>, isPPC64; def : Pat<(PPCaddTls G8RC:$in, tglobaltlsaddr:$g), (ADD8TLS G8RC:$in, tglobaltlsaddr:$g)>; def ADDIStlsgdHA: Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolHi64:$disp), "#ADDIStlsgdHA", [(set G8RC:$rD, - (PPCaddisTlsgdHA G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddisTlsgdHA G8RC:$reg, tglobaltlsaddr:$disp))]>, isPPC64; def ADDItlsgdL : Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolLo64:$disp), "#ADDItlsgdL", [(set G8RC:$rD, - (PPCaddiTlsgdL G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddiTlsgdL G8RC:$reg, tglobaltlsaddr:$disp))]>, isPPC64; def GETtlsADDR : Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, tlsgd:$sym), "#GETtlsADDR", [(set G8RC:$rD, - (PPCgetTlsAddr G8RC:$reg, tglobaladdr:$sym))]>, + (PPCgetTlsAddr G8RC:$reg, tglobaltlsaddr:$sym))]>, isPPC64; def ADDIStlsldHA: Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolHi64:$disp), "#ADDIStlsldHA", [(set G8RC:$rD, - (PPCaddisTlsldHA G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddisTlsldHA G8RC:$reg, tglobaltlsaddr:$disp))]>, isPPC64; def ADDItlsldL : Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolLo64:$disp), "#ADDItlsldL", [(set G8RC:$rD, - (PPCaddiTlsldL G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddiTlsldL G8RC:$reg, tglobaltlsaddr:$disp))]>, isPPC64; def GETtlsldADDR : Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, tlsgd:$sym), "#GETtlsldADDR", [(set G8RC:$rD, - (PPCgetTlsldAddr G8RC:$reg, tglobaladdr:$sym))]>, + (PPCgetTlsldAddr G8RC:$reg, tglobaltlsaddr:$sym))]>, isPPC64; def ADDISdtprelHA: Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolHi64:$disp), "#ADDISdtprelHA", [(set G8RC:$rD, - (PPCaddisDtprelHA G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddisDtprelHA G8RC:$reg, + tglobaltlsaddr:$disp))]>, isPPC64; def ADDIdtprelL : Pseudo<(outs G8RC:$rD), (ins G8RC:$reg, symbolLo64:$disp), "#ADDIdtprelL", [(set G8RC:$rD, - (PPCaddiDtprelL G8RC:$reg, tglobaladdr:$disp))]>, + (PPCaddiDtprelL G8RC:$reg, tglobaltlsaddr:$disp))]>, isPPC64; let PPC970_Unit = 2 in { |