diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-07-03 00:18:36 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-07-03 00:18:36 +0000 |
commit | 2832edfb483e43d6f57fe1617f77766855f906dc (patch) | |
tree | d7507931ff7454013733a27e7501af8976fddfc1 | |
parent | 24be4c10e66143bed0d23b0d0da23ab08d1ad1c0 (diff) | |
download | external_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.td | 15 |
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. // |