aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86ISelDAGToDAG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/X86ISelDAGToDAG.cpp')
-rw-r--r--lib/Target/X86/X86ISelDAGToDAG.cpp44
1 files changed, 0 insertions, 44 deletions
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp
index 6cd3cbe..6b3a660 100644
--- a/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -1063,50 +1063,6 @@ SDNode *X86DAGToDAGISel::Select(SDOperand N) {
break;
}
- case ISD::MUL: {
- if (NVT == MVT::i8) {
- SDOperand N0 = Node->getOperand(0);
- SDOperand N1 = Node->getOperand(1);
- SDOperand Tmp0, Tmp1, Tmp2, Tmp3;
- bool foldedLoad = TryFoldLoad(N, N1, Tmp0, Tmp1, Tmp2, Tmp3);
- if (!foldedLoad) {
- foldedLoad = TryFoldLoad(N, N0, Tmp0, Tmp1, Tmp2, Tmp3);
- if (foldedLoad)
- std::swap(N0, N1);
- }
-
- SDNode *ResNode;
- if (foldedLoad) {
- SDOperand Chain = N1.getOperand(0);
- AddToISelQueue(N0);
- AddToISelQueue(Chain);
- AddToISelQueue(Tmp0);
- AddToISelQueue(Tmp1);
- AddToISelQueue(Tmp2);
- AddToISelQueue(Tmp3);
- SDOperand InFlag(0, 0);
- Chain = CurDAG->getCopyToReg(Chain, X86::AL, N0, InFlag);
- InFlag = Chain.getValue(1);
- SDOperand Ops[] = { Tmp0, Tmp1, Tmp2, Tmp3, Chain, InFlag };
- ResNode = CurDAG->getTargetNode(X86::MUL8m, MVT::i8, MVT::i8,
- MVT::Other, Ops, 6);
- ReplaceUses(N1.getValue(1), SDOperand(ResNode, 2));
- } else {
- SDOperand Chain = CurDAG->getEntryNode();
- AddToISelQueue(N0);
- AddToISelQueue(N1);
- SDOperand InFlag(0, 0);
- InFlag = CurDAG->getCopyToReg(Chain, X86::AL, N0, InFlag).getValue(1);
- ResNode = CurDAG->getTargetNode(X86::MUL8r, MVT::i8, MVT::i8,
- N1, InFlag);
- }
-
- ReplaceUses(N.getValue(0), SDOperand(ResNode, 0));
- return NULL;
- }
- break;
- }
-
case ISD::MULHU:
case ISD::MULHS: {
if (Opcode == ISD::MULHU)