aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2013-08-28 12:04:29 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2013-08-28 12:04:29 +0000
commit2fd3e67dc6438cee5e32e0d7d7d42891df7edd96 (patch)
tree18af658b2968c9b89f4c114de28ec3c4eaaa2495 /lib/Target/Mips/MipsSEISelDAGToDAG.cpp
parentf1db2a6a0e0ca2e0f03169ba4dc7c8332bd6ed74 (diff)
downloadexternal_llvm-2fd3e67dc6438cee5e32e0d7d7d42891df7edd96.zip
external_llvm-2fd3e67dc6438cee5e32e0d7d7d42891df7edd96.tar.gz
external_llvm-2fd3e67dc6438cee5e32e0d7d7d42891df7edd96.tar.bz2
[mips][msa] Added load/store intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189476 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsSEISelDAGToDAG.cpp')
-rw-r--r--lib/Target/Mips/MipsSEISelDAGToDAG.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsSEISelDAGToDAG.cpp b/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
index 27fcaa3..7161850 100644
--- a/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
+++ b/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
@@ -316,6 +316,20 @@ bool MipsSEDAGToDAGISel::selectAddrRegImm(SDValue Addr, SDValue &Base,
return false;
}
+/// ComplexPattern used on MipsInstrInfo
+/// Used on Mips Load/Store instructions
+bool MipsSEDAGToDAGISel::selectAddrRegReg(SDValue Addr, SDValue &Base,
+ SDValue &Offset) const {
+ // Operand is a result from an ADD.
+ if (Addr.getOpcode() == ISD::ADD) {
+ Base = Addr.getOperand(0);
+ Offset = Addr.getOperand(1);
+ return true;
+ }
+
+ return false;
+}
+
bool MipsSEDAGToDAGISel::selectAddrDefault(SDValue Addr, SDValue &Base,
SDValue &Offset) const {
Base = Addr;