diff options
author | Graydon Hoare <graydon@redhat.com> | 2002-01-22 21:45:36 +0000 |
---|---|---|
committer | Graydon Hoare <graydon@redhat.com> | 2002-01-22 21:45:36 +0000 |
commit | 9a2e995d8ac926488ad1472e6fb76352122ff576 (patch) | |
tree | 1dd67859a8e2fafd835e85a4402d25c92b2ee589 /include/opcode | |
parent | cc096b7166610e6cca71574ef936acbabc922708 (diff) | |
download | gdb-9a2e995d8ac926488ad1472e6fb76352122ff576.zip gdb-9a2e995d8ac926488ad1472e6fb76352122ff576.tar.gz gdb-9a2e995d8ac926488ad1472e6fb76352122ff576.tar.bz2 |
[ include/opcode/ChangeLog ]
2002-01-22 Graydon Hoare <graydon@redhat.com>
* cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
(CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
[ opcodes/ChangeLog ]
2002-01-22 Graydon Hoare <graydon@redhat.com>
* fr30-asm.c: Regenerate.
* fr30-desc.c: Likewise.
* fr30-desc.h: Likewise.
* fr30-dis.c: Likewise.
* fr30-ibld.c: Likewise.
* fr30-opc.c: Likewise.
* fr30-opc.h: Likewise.
* m32r-asm.c: Likewise.
* m32r-desc.c: Likewise.
* m32r-desc.h: Likewise.
* m32r-dis.c: Likewise.
* m32r-ibld.c: Likewise.
* m32r-opc.c: Likewise.
* m32r-opc.h: Likewise.
* m32r-opinst.c: Likewise.
* openrisc-asm.c: Likewise.
* openrisc-desc.c: Likewise.
* openrisc-desc.h: Likewise.
* openrisc-dis.c: Likewise.
* openrisc-ibld.c: Likewise.
* openrisc-opc.c: Likewise.
* openrisc-opc.h: Likewise.
* xstormy16-desc.c: Likewise.
[ cgen/ChangeLog ]
2002-01-22 Graydon Hoare <graydon@redhat.com>
* desc-cpu.scm (ifld-number-cache): Add.
(ifld-number): Add.
(gen-maybe-multi-ifld-of-op): Add.
(gen-maybe-multi-ifld): Add.
(gen-multi-ifield-nodes): Add.
(cgen-desc.c): Add call to gen-multi-ifield-nodes.
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/cgen.h | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 84b8c9e..dcde56b 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2002-01-22 Graydon Hoare <graydon@redhat.com> + + * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. + (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. + 2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> * h8300.h: Comment typo fix. diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h index bcde472..e603b55 100644 --- a/include/opcode/cgen.h +++ b/include/opcode/cgen.h @@ -609,6 +609,23 @@ enum cgen_operand_type { CGEN_OPERAND_MAX }; /* "nil" indicator for the operand instance table */ #define CGEN_OPERAND_NIL CGEN_OPERAND_MAX +/* A tree of these structs represents the multi-ifield + structure of an operand's hw-index value, if it exists. */ + +struct cgen_ifld; + +typedef struct cgen_maybe_multi_ifield +{ + int count; /* 0: indexed by single cgen_ifld (possibly null: dead entry); + n: indexed by array of more cgen_maybe_multi_ifields. */ + union + { + struct cgen_maybe_multi_ifield * multi; + struct cgen_ifld * leaf; + } val; +} +CGEN_MAYBE_MULTI_IFLD; + /* This struct defines each entry in the operand table. */ typedef struct @@ -637,6 +654,11 @@ typedef struct May be unused for a modifier. */ unsigned char length; + /* The (possibly-multi) ifield used as an index for this operand, if it + is indexed by a field at all. This substitutes / extends the start and + length fields above, but unsure at this time whether they are used + anywhere. */ + CGEN_MAYBE_MULTI_IFLD index_fields; #if 0 /* ??? Interesting idea but relocs tend to get too complicated, and ABI dependent, for simple table lookups to work. */ /* Ideally this would be the internal (external?) reloc type. */ |