aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/PowerPC/PPCISelDAGToDAG.cpp')
-rw-r--r--lib/Target/PowerPC/PPCISelDAGToDAG.cpp38
1 files changed, 0 insertions, 38 deletions
diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
index 915b9d0a61..9a978295b8 100644
--- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
@@ -1220,44 +1220,6 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
CurDAG->ReplaceAllUsesWith(N, Result);
return Result[Op.ResNo];
}
- case ISD::SHL_PARTS: {
- SDOperand LO = Select(N->getOperand(0));
- SDOperand HI = Select(N->getOperand(1));
- SDOperand SH = Select(N->getOperand(2));
- SDOperand SH_LO_R = CurDAG->getTargetNode(PPC::SUBFIC, MVT::i32, MVT::Flag,
- SH, getI32Imm(32));
- SDOperand SH_LO_L = CurDAG->getTargetNode(PPC::ADDI, MVT::i32, SH,
- getI32Imm((unsigned)-32));
- SDOperand HI_SHL = CurDAG->getTargetNode(PPC::SLW, MVT::i32, HI, SH);
- SDOperand HI_LOR = CurDAG->getTargetNode(PPC::SRW, MVT::i32, LO, SH_LO_R);
- SDOperand HI_LOL = CurDAG->getTargetNode(PPC::SLW, MVT::i32, LO, SH_LO_L);
- SDOperand HI_OR = CurDAG->getTargetNode(PPC::OR, MVT::i32, HI_SHL, HI_LOR);
-
- std::vector<SDOperand> Result;
- Result.push_back(CurDAG->getTargetNode(PPC::SLW, MVT::i32, LO, SH));
- Result.push_back(CurDAG->getTargetNode(PPC::OR, MVT::i32, HI_OR, HI_LOL));
- CurDAG->ReplaceAllUsesWith(N, Result);
- return Result[Op.ResNo];
- }
- case ISD::SRL_PARTS: {
- SDOperand LO = Select(N->getOperand(0));
- SDOperand HI = Select(N->getOperand(1));
- SDOperand SH = Select(N->getOperand(2));
- SDOperand SH_HI_L = CurDAG->getTargetNode(PPC::SUBFIC, MVT::i32, MVT::Flag,
- SH, getI32Imm(32));
- SDOperand SH_HI_R = CurDAG->getTargetNode(PPC::ADDI, MVT::i32, SH,
- getI32Imm((unsigned)-32));
- SDOperand LO_SHR = CurDAG->getTargetNode(PPC::SRW, MVT::i32, LO, SH);
- SDOperand LO_HIL = CurDAG->getTargetNode(PPC::SLW, MVT::i32, HI, SH_HI_L);
- SDOperand LO_HIR = CurDAG->getTargetNode(PPC::SRW, MVT::i32, HI, SH_HI_R);
- SDOperand LO_OR = CurDAG->getTargetNode(PPC::OR, MVT::i32, LO_SHR, LO_HIL);
-
- std::vector<SDOperand> Result;
- Result.push_back(CurDAG->getTargetNode(PPC::OR, MVT::i32, LO_OR, LO_HIR));
- Result.push_back(CurDAG->getTargetNode(PPC::SRW, MVT::i32, HI, SH));
- CurDAG->ReplaceAllUsesWith(N, Result);
- return Result[Op.ResNo];
- }
case ISD::LOAD:
case ISD::EXTLOAD: