[ 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.
This commit is contained in:
Graydon Hoare 2002-01-22 21:45:33 +00:00
parent aed69a5b0d
commit 4412296fd8
2 changed files with 27 additions and 0 deletions

View File

@ -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.

View File

@ -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. */