aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-07-03 00:18:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-07-03 00:18:36 +0000
commit2832edfb483e43d6f57fe1617f77766855f906dc (patch)
treed7507931ff7454013733a27e7501af8976fddfc1
parent24be4c10e66143bed0d23b0d0da23ab08d1ad1c0 (diff)
downloadexternal_llvm-2832edfb483e43d6f57fe1617f77766855f906dc.zip
external_llvm-2832edfb483e43d6f57fe1617f77766855f906dc.tar.gz
external_llvm-2832edfb483e43d6f57fe1617f77766855f906dc.tar.bz2
Add Thumb2 load / store multiple instructions. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74749 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index d8ce1b3..fc21982 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -673,6 +673,21 @@ def t2PICSTRH : T2I_picst<"strh", BinOpFrag<(truncstorei16 node:$LHS, node:$RHS
def t2PICSTRB : T2I_picst<"strb", BinOpFrag<(truncstorei8 node:$LHS, node:$RHS)>>;
} // isNotDuplicable = 1, AddedComplexity = 10
+
+//===----------------------------------------------------------------------===//
+// Load / store multiple Instructions.
+//
+
+let mayLoad = 1 in
+def t2LDM : T2XI<(outs),
+ (ins addrmode4:$addr, pred:$p, reglist:$dst1, variable_ops),
+ "ldm${p}${addr:submode} $addr, $dst1", []>;
+
+let mayStore = 1 in
+def t2STM : T2XI<(outs),
+ (ins addrmode4:$addr, pred:$p, reglist:$src1, variable_ops),
+ "stm${p}${addr:submode} $addr, $src1", []>;
+
//===----------------------------------------------------------------------===//
// Move Instructions.
//