summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMInstrFormats.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-08-31 19:02:21 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-08-31 19:02:21 +0000
commit01fd3f129ac4fb3f08211564dd26b780e6855be6 (patch)
treebfaf83988e4dc5249f1a97202570dbfdda41f63c /llvm/lib/Target/ARM/ARMInstrFormats.td
parent5b6c931e1f6b03d6aa1ce9c610d5abd65d0a8b31 (diff)
downloadbcm5719-llvm-01fd3f129ac4fb3f08211564dd26b780e6855be6.tar.gz
bcm5719-llvm-01fd3f129ac4fb3f08211564dd26b780e6855be6.zip
Addr2 word / byte load encodings.
llvm-svn: 55591
Diffstat (limited to 'llvm/lib/Target/ARM/ARMInstrFormats.td')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrFormats.td22
1 files changed, 21 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrFormats.td b/llvm/lib/Target/ARM/ARMInstrFormats.td
index ec600b4c2c1..7e6015dff57 100644
--- a/llvm/lib/Target/ARM/ARMInstrFormats.td
+++ b/llvm/lib/Target/ARM/ARMInstrFormats.td
@@ -135,10 +135,30 @@ class AsI1<bits<4> opcod, dag oops, dag iops, Format f, string opc,
let Inst{21-24} = opcod;
let Inst{26-27} = 0;
}
+
class AI2<bits<4> opcod, dag oops, dag iops, Format f, string opc,
string asm, list<dag> pattern>
: I<opcod, oops, iops, AddrMode2, Size4Bytes, IndexModeNone, f, opc,
- asm, "", pattern>;
+ asm, "", pattern> {
+ let Inst{26-27} = 1;
+}
+class AI2ldw<bits<4> opcod, dag oops, dag iops, Format f, string opc,
+ string asm, list<dag> pattern>
+ : AI2<opcod, oops, iops, f, opc, asm, pattern> {
+ let Inst{20} = 1; // load bit
+ let Inst{21} = 0; // W bit
+ let Inst{22} = 0; // B bit
+ let Inst{24} = 1; // P bit
+}
+class AI2ldb<bits<4> opcod, dag oops, dag iops, Format f, string opc,
+ string asm, list<dag> pattern>
+ : AI2<opcod, oops, iops, f, opc, asm, pattern> {
+ let Inst{20} = 1; // load bit
+ let Inst{21} = 0; // W bit
+ let Inst{22} = 1; // B bit
+ let Inst{24} = 1; // P bit
+}
+
class AI3<bits<4> opcod, dag oops, dag iops, Format f, string opc,
string asm, list<dag> pattern>
: I<opcod, oops, iops, AddrMode3, Size4Bytes, IndexModeNone, f, opc,
OpenPOWER on IntegriCloud