From 612b79edc92b305bc23a23fc5ef4066ca728921f Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 29 Aug 2008 07:40:52 +0000 Subject: [PATCH] addrmode1 (data processing) instruction encoding: bits 5-6 are 0, bits 7-10 encode the opcode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55531 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrFormats.td | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td index 9ea6157ebb3..a7c994f2a3f 100644 --- a/lib/Target/ARM/ARMInstrFormats.td +++ b/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 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 opcod, dag oops, dag iops, Format f, string opc, class AI1 opcod, dag oops, dag iops, Format f, string opc, string asm, list pattern> : I; + asm, "", pattern> { + let Inst{5-6} = 0; + let Inst{7-10} = opcod; +} class AsI1 opcod, dag oops, dag iops, Format f, string opc, string asm, list pattern> : sI; + asm, "", pattern> { + let Inst{5-6} = 0; + let Inst{7-10} = opcod; +} class AI2 opcod, dag oops, dag iops, Format f, string opc, string asm, list pattern> : I