summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-10-17 18:04:53 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-10-17 18:04:53 +0000
commit19398ec86e102d2d7f050bfe4429aef55a6911b2 (patch)
treee32023a59a207d86cac69b1950c0d69a584c6422 /llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
parentd24b913a613b7f6be2c04716bbbe8e58e61f793e (diff)
downloadbcm5719-llvm-19398ec86e102d2d7f050bfe4429aef55a6911b2.tar.gz
bcm5719-llvm-19398ec86e102d2d7f050bfe4429aef55a6911b2.zip
initial implementation of addressing mode 5
llvm-svn: 31002
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 905d9620e20..13dd33cc902 100644
--- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -737,6 +737,7 @@ public:
bool SelectAddrRegImm(SDOperand N, SDOperand &Offset, SDOperand &Base);
bool SelectAddrMode1(SDOperand N, SDOperand &Arg, SDOperand &Shift,
SDOperand &ShiftType);
+ bool SelectAddrMode5(SDOperand N, SDOperand &Arg, SDOperand &Offset);
// Include the pieces autogenerated from the target description.
#include "ARMGenDAGISel.inc"
@@ -835,6 +836,14 @@ bool ARMDAGToDAGISel::SelectAddrMode1(SDOperand N,
return true;
}
+bool ARMDAGToDAGISel::SelectAddrMode5(SDOperand N, SDOperand &Arg,
+ SDOperand &Offset) {
+ //TODO: detect offset
+ Offset = CurDAG->getTargetConstant(0, MVT::i32);
+ Arg = N;
+ return true;
+}
+
//register plus/minus 12 bit offset
bool ARMDAGToDAGISel::SelectAddrRegImm(SDOperand N, SDOperand &Offset,
SDOperand &Base) {
OpenPOWER on IntegriCloud