Add Thumb2 load / store multiple instructions. Not used yet.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 3 Jul 2009 00:18:36 +0000 (00:18 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 3 Jul 2009 00:18:36 +0000 (00:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74749 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb2.td

index d8ce1b3f7a3247f3d1ee04d21988fd283e881cf9..fc21982e811701e07d43ed0e7d6808a02ffd6b29 100644 (file)
@@ -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.
 //