summaryrefslogtreecommitdiff
path: root/lib/Target/XCore/XCoreISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-03-10 13:27:10 +0000
committerRichard Osborne <richard@xmos.com>2010-03-10 13:27:10 +0000
commita2cc0613d05f9545947478942811c04f27601649 (patch)
treec70323bab4a06d239bfa9e18662a78af14580504 /lib/Target/XCore/XCoreISelDAGToDAG.cpp
parenta7e78402b8b3d3583e7b63fcca99a4034a2f4db4 (diff)
downloadllvm-a2cc0613d05f9545947478942811c04f27601649.tar.gz
llvm-a2cc0613d05f9545947478942811c04f27601649.tar.bz2
llvm-a2cc0613d05f9545947478942811c04f27601649.tar.xz
Prefer LMUL to MACCU as LMUL has no tied operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore/XCoreISelDAGToDAG.cpp')
-rw-r--r--lib/Target/XCore/XCoreISelDAGToDAG.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/XCore/XCoreISelDAGToDAG.cpp b/lib/Target/XCore/XCoreISelDAGToDAG.cpp
index 12967d42de..29a6ab77d0 100644
--- a/lib/Target/XCore/XCoreISelDAGToDAG.cpp
+++ b/lib/Target/XCore/XCoreISelDAGToDAG.cpp
@@ -220,6 +220,12 @@ SDNode *XCoreDAGToDAGISel::Select(SDNode *N) {
return CurDAG->getMachineNode(XCore::MACCS_l4r, dl, MVT::i32, MVT::i32,
Ops, 4);
}
+ case XCoreISD::LMUL: {
+ SDValue Ops[] = { N->getOperand(0), N->getOperand(1),
+ N->getOperand(2), N->getOperand(3) };
+ return CurDAG->getMachineNode(XCore::LMUL_l6r, dl, MVT::i32, MVT::i32,
+ Ops, 4);
+ }
// Other cases are autogenerated.
}
}