summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/ARM/ARMInstrFormats.td13
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrFormats.td b/llvm/lib/Target/ARM/ARMInstrFormats.td
index 9ea6157ebb3..a7c994f2a3f 100644
--- a/llvm/lib/Target/ARM/ARMInstrFormats.td
+++ b/llvm/lib/Target/ARM/ARMInstrFormats.td
@@ -50,7 +50,6 @@ def ThumbFrm : Format<25>;
def VFPFrm : Format<26>;
-
//===----------------------------------------------------------------------===//
// ARM Instruction templates.
@@ -59,6 +58,8 @@ def VFPFrm : Format<26>;
class InstARM<bits<4> opcod, AddrMode am, SizeFlagVal sz, IndexMode im,
Format f, string cstr>
: Instruction {
+ field bits<32> Inst;
+
let Namespace = "ARM";
bits<4> Opcode = opcod;
@@ -122,11 +123,17 @@ class AsI<bits<4> opcod, dag oops, dag iops, Format f, string opc,
class AI1<bits<4> opcod, dag oops, dag iops, Format f, string opc,
string asm, list<dag> pattern>
: I<opcod, oops, iops, AddrMode1, Size4Bytes, IndexModeNone, f, opc,
- asm, "", pattern>;
+ asm, "", pattern> {
+ let Inst{5-6} = 0;
+ let Inst{7-10} = opcod;
+}
class AsI1<bits<4> opcod, dag oops, dag iops, Format f, string opc,
string asm, list<dag> pattern>
: sI<opcod, oops, iops, AddrMode1, Size4Bytes, IndexModeNone, f, opc,
- asm, "", pattern>;
+ asm, "", pattern> {
+ let Inst{5-6} = 0;
+ let Inst{7-10} = opcod;
+}
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,
OpenPOWER on IntegriCloud