From 9a2e995d8ac926488ad1472e6fb76352122ff576 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 22 Jan 2002 21:45:36 +0000 Subject: [PATCH] [ include/opcode/ChangeLog ] 2002-01-22 Graydon Hoare * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. [ opcodes/ChangeLog ] 2002-01-22 Graydon Hoare * 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 * 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. --- include/opcode/ChangeLog | 5 +++ include/opcode/cgen.h | 22 ++++++++++++ opcodes/ChangeLog | 26 ++++++++++++++ opcodes/fr30-asm.c | 3 +- opcodes/fr30-desc.c | 74 +++++++++++++++++++++++++++++++++++++--- opcodes/fr30-desc.h | 2 +- opcodes/fr30-dis.c | 43 ++++++++++++----------- opcodes/fr30-ibld.c | 6 ++-- opcodes/fr30-opc.c | 2 +- opcodes/fr30-opc.h | 2 +- opcodes/m32r-asm.c | 3 +- opcodes/m32r-desc.c | 44 +++++++++++++++++++++--- opcodes/m32r-desc.h | 2 +- opcodes/m32r-dis.c | 13 ++++--- opcodes/m32r-ibld.c | 6 ++-- opcodes/m32r-opc.c | 2 +- opcodes/m32r-opc.h | 6 ++-- opcodes/m32r-opinst.c | 2 +- opcodes/openrisc-asm.c | 3 +- opcodes/openrisc-desc.c | 41 +++++++++++++++++++--- opcodes/openrisc-desc.h | 2 +- opcodes/openrisc-dis.c | 3 +- opcodes/openrisc-ibld.c | 6 ++-- opcodes/openrisc-opc.c | 2 +- opcodes/openrisc-opc.h | 2 +- opcodes/xstormy16-desc.c | 62 ++++++++++++++++++++++++++++++--- 26 files changed, 304 insertions(+), 80 deletions(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 84b8c9efa4..dcde56b56b 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2002-01-22 Graydon Hoare + + * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. + (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. + 2002-01-21 Thomas Klausner * h8300.h: Comment typo fix. diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h index bcde4729ad..e603b55ce6 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. */ diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 95c5df23c3..f4a9988999 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,29 @@ +2002-01-22 Graydon Hoare + + * 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. + 2002-01-22 Richard Henderson * alpha-dis.c (print_insn_alpha): Also mask the base opcode for diff --git a/opcodes/fr30-asm.c b/opcodes/fr30-asm.c index 93ed1171b1..40f015ad03 100644 --- a/opcodes/fr30-asm.c +++ b/opcodes/fr30-asm.c @@ -186,8 +186,7 @@ const char * fr30_cgen_parse_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of - the handlers. -*/ + the handlers. */ const char * fr30_cgen_parse_operand (cd, opindex, strp, fields) diff --git a/opcodes/fr30-desc.c b/opcodes/fr30-desc.c index d9b347fe7d..fd6afee7d2 100644 --- a/opcodes/fr30-desc.c +++ b/opcodes/fr30-desc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. @@ -346,6 +346,21 @@ const CGEN_IFLD fr30_cgen_ifld_table[] = #undef A + +/* multi ifield declarations */ + +const CGEN_MAYBE_MULTI_IFLD FR30_F_I20_MULTI_IFIELD []; + + +/* multi ifield definitions */ + +const CGEN_MAYBE_MULTI_IFLD FR30_F_I20_MULTI_IFIELD [] = +{ + { 0, &(fr30_cgen_ifld_table[23]) }, + { 0, &(fr30_cgen_ifld_table[24]) }, + {0,0} +}; + /* The operand table. */ #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -363,150 +378,199 @@ const CGEN_OPERAND fr30_cgen_operand_table[] = { /* pc: program counter */ { "pc", FR30_OPERAND_PC, HW_H_PC, 0, 0, + { 0, &(fr30_cgen_ifld_table[0]) }, { 0|A(SEM_ONLY), { (1<default_insn_bitsize == UNSET) cd->default_insn_bitsize = isa->default_insn_bitsize; else if (isa->default_insn_bitsize == cd->default_insn_bitsize) @@ -1510,8 +1574,8 @@ fr30_cgen_rebuild_tables (cd) else cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; - /* Base insn sizes of all selected isas must be equal or we set - the result to 0, meaning "unknown". */ + /* Base insn sizes of all selected isas must be equal + or we set the result to 0, meaning "unknown". */ if (cd->base_insn_bitsize == UNSET) cd->base_insn_bitsize = isa->base_insn_bitsize; else if (isa->base_insn_bitsize == cd->base_insn_bitsize) diff --git a/opcodes/fr30-desc.h b/opcodes/fr30-desc.h index e0d8c1a6e1..41de0bbb28 100644 --- a/opcodes/fr30-desc.h +++ b/opcodes/fr30-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/fr30-dis.c b/opcodes/fr30-dis.c index 7f04125b13..961ce22029 100644 --- a/opcodes/fr30-dis.c +++ b/opcodes/fr30-dis.c @@ -111,60 +111,60 @@ print_register_list (dis_info, value, offset, load_store) static void print_hi_register_list_ld (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; long value; - unsigned int attrs; - bfd_vma pc; - int length; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { print_register_list (dis_info, value, 8, 0/*load*/); } static void print_low_register_list_ld (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; long value; - unsigned int attrs; - bfd_vma pc; - int length; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { print_register_list (dis_info, value, 0, 0/*load*/); } static void print_hi_register_list_st (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; long value; - unsigned int attrs; - bfd_vma pc; - int length; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { print_register_list (dis_info, value, 8, 1/*store*/); } static void print_low_register_list_st (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; long value; - unsigned int attrs; - bfd_vma pc; - int length; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { print_register_list (dis_info, value, 0, 1/*store*/); } static void print_m4 (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; long value; - unsigned int attrs; - bfd_vma pc; - int length; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { disassemble_info *info = (disassemble_info *) dis_info; (*info->fprintf_func) (info->stream, "%ld", value); @@ -188,8 +188,7 @@ void fr30_cgen_print_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ void fr30_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length) diff --git a/opcodes/fr30-ibld.c b/opcodes/fr30-ibld.c index 3a72fc27be..96374619e6 100644 --- a/opcodes/fr30-ibld.c +++ b/opcodes/fr30-ibld.c @@ -554,8 +554,7 @@ const char * fr30_cgen_insert_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of the handlers. It's also needed by GAS to insert operands that couldn't be - resolved during parsing. -*/ + resolved during parsing. */ const char * fr30_cgen_insert_operand (cd, opindex, fields, buffer, pc) @@ -753,8 +752,7 @@ int fr30_cgen_extract_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ int fr30_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc) diff --git a/opcodes/fr30-opc.c b/opcodes/fr30-opc.c index e1167d962b..b47cbcd1d6 100644 --- a/opcodes/fr30-opc.c +++ b/opcodes/fr30-opc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/fr30-opc.h b/opcodes/fr30-opc.h index 623501dbd8..2b89a90659 100644 --- a/opcodes/fr30-opc.h +++ b/opcodes/fr30-opc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/m32r-asm.c b/opcodes/m32r-asm.c index 8b3477c2ea..718dd994ce 100644 --- a/opcodes/m32r-asm.c +++ b/opcodes/m32r-asm.c @@ -219,8 +219,7 @@ const char * m32r_cgen_parse_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of - the handlers. -*/ + the handlers. */ const char * m32r_cgen_parse_operand (cd, opindex, strp, fields) diff --git a/opcodes/m32r-desc.c b/opcodes/m32r-desc.c index 07ec3829f8..4acf72044c 100644 --- a/opcodes/m32r-desc.c +++ b/opcodes/m32r-desc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. @@ -294,6 +294,14 @@ const CGEN_IFLD m32r_cgen_ifld_table[] = #undef A + +/* multi ifield declarations */ + + + +/* multi ifield definitions */ + + /* The operand table. */ #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -311,81 +319,107 @@ const CGEN_OPERAND m32r_cgen_operand_table[] = { /* pc: program counter */ { "pc", M32R_OPERAND_PC, HW_H_PC, 0, 0, + { 0, &(m32r_cgen_ifld_table[0]) }, { 0|A(SEM_ONLY), { (1<default_insn_bitsize == UNSET) cd->default_insn_bitsize = isa->default_insn_bitsize; else if (isa->default_insn_bitsize == cd->default_insn_bitsize) @@ -1234,8 +1268,8 @@ m32r_cgen_rebuild_tables (cd) else cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; - /* Base insn sizes of all selected isas must be equal or we set - the result to 0, meaning "unknown". */ + /* Base insn sizes of all selected isas must be equal + or we set the result to 0, meaning "unknown". */ if (cd->base_insn_bitsize == UNSET) cd->base_insn_bitsize = isa->base_insn_bitsize; else if (isa->base_insn_bitsize == cd->base_insn_bitsize) diff --git a/opcodes/m32r-desc.h b/opcodes/m32r-desc.h index e6cf95417b..b099730d87 100644 --- a/opcodes/m32r-desc.h +++ b/opcodes/m32r-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/m32r-dis.c b/opcodes/m32r-dis.c index f2ce72a673..40d7679907 100644 --- a/opcodes/m32r-dis.c +++ b/opcodes/m32r-dis.c @@ -75,12 +75,12 @@ static int my_print_insn PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); static void print_hash (cd, dis_info, value, attrs, pc, length) - CGEN_CPU_DESC cd; + CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; PTR dis_info; - long value; - unsigned int attrs; - bfd_vma pc; - int length; + long value ATTRIBUTE_UNUSED; + unsigned int attrs ATTRIBUTE_UNUSED; + bfd_vma pc ATTRIBUTE_UNUSED; + int length ATTRIBUTE_UNUSED; { disassemble_info *info = (disassemble_info *) dis_info; (*info->fprintf_func) (info->stream, "#"); @@ -158,8 +158,7 @@ void m32r_cgen_print_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ void m32r_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length) diff --git a/opcodes/m32r-ibld.c b/opcodes/m32r-ibld.c index 59bc058973..ef1ee0e012 100644 --- a/opcodes/m32r-ibld.c +++ b/opcodes/m32r-ibld.c @@ -554,8 +554,7 @@ const char * m32r_cgen_insert_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of the handlers. It's also needed by GAS to insert operands that couldn't be - resolved during parsing. -*/ + resolved during parsing. */ const char * m32r_cgen_insert_operand (cd, opindex, fields, buffer, pc) @@ -682,8 +681,7 @@ int m32r_cgen_extract_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ int m32r_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc) diff --git a/opcodes/m32r-opc.c b/opcodes/m32r-opc.c index 56e7c933c6..5b20f4d17e 100644 --- a/opcodes/m32r-opc.c +++ b/opcodes/m32r-opc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/m32r-opc.h b/opcodes/m32r-opc.h index f3eb13933a..0a69dc4182 100644 --- a/opcodes/m32r-opc.h +++ b/opcodes/m32r-opc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. @@ -27,9 +27,9 @@ with this program; if not, write to the Free Software Foundation, Inc., /* -- opc.h */ -#undef CGEN_DIS_HASH_SIZE +#undef CGEN_DIS_HASH_SIZE #define CGEN_DIS_HASH_SIZE 256 -#undef CGEN_DIS_HASH +#undef CGEN_DIS_HASH #define X(b) (((unsigned char *) (b))[0] & 0xf0) #define CGEN_DIS_HASH(buffer, value) \ (X (buffer) | \ diff --git a/opcodes/m32r-opinst.c b/opcodes/m32r-opinst.c index aaaa1c0749..f89c230774 100644 --- a/opcodes/m32r-opinst.c +++ b/opcodes/m32r-opinst.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/openrisc-asm.c b/opcodes/openrisc-asm.c index 13ba81f905..96a6c4d2b7 100644 --- a/opcodes/openrisc-asm.c +++ b/opcodes/openrisc-asm.c @@ -176,8 +176,7 @@ const char * openrisc_cgen_parse_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of - the handlers. -*/ + the handlers. */ const char * openrisc_cgen_parse_operand (cd, opindex, strp, fields) diff --git a/opcodes/openrisc-desc.c b/opcodes/openrisc-desc.c index f1fb3abb7c..e5eded9e73 100644 --- a/opcodes/openrisc-desc.c +++ b/opcodes/openrisc-desc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. @@ -253,6 +253,21 @@ const CGEN_IFLD openrisc_cgen_ifld_table[] = #undef A + +/* multi ifield declarations */ + +const CGEN_MAYBE_MULTI_IFLD OPENRISC_F_I16NC_MULTI_IFIELD []; + + +/* multi ifield definitions */ + +const CGEN_MAYBE_MULTI_IFLD OPENRISC_F_I16NC_MULTI_IFIELD [] = +{ + { 0, &(openrisc_cgen_ifld_table[19]) }, + { 0, &(openrisc_cgen_ifld_table[20]) }, + {0,0} +}; + /* The operand table. */ #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -270,51 +285,67 @@ const CGEN_OPERAND openrisc_cgen_operand_table[] = { /* pc: program counter */ { "pc", OPENRISC_OPERAND_PC, HW_H_PC, 0, 0, + { 0, &(openrisc_cgen_ifld_table[0]) }, { 0|A(SEM_ONLY), { (1<default_insn_bitsize == UNSET) cd->default_insn_bitsize = isa->default_insn_bitsize; else if (isa->default_insn_bitsize == cd->default_insn_bitsize) @@ -813,8 +844,8 @@ openrisc_cgen_rebuild_tables (cd) else cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; - /* Base insn sizes of all selected isas must be equal or we set - the result to 0, meaning "unknown". */ + /* Base insn sizes of all selected isas must be equal + or we set the result to 0, meaning "unknown". */ if (cd->base_insn_bitsize == UNSET) cd->base_insn_bitsize = isa->base_insn_bitsize; else if (isa->base_insn_bitsize == cd->base_insn_bitsize) diff --git a/opcodes/openrisc-desc.h b/opcodes/openrisc-desc.h index 952b8487b4..a85930ed77 100644 --- a/opcodes/openrisc-desc.h +++ b/opcodes/openrisc-desc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/openrisc-dis.c b/opcodes/openrisc-dis.c index d4f7537ee9..628a86c830 100644 --- a/opcodes/openrisc-dis.c +++ b/opcodes/openrisc-dis.c @@ -75,8 +75,7 @@ void openrisc_cgen_print_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ void openrisc_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length) diff --git a/opcodes/openrisc-ibld.c b/opcodes/openrisc-ibld.c index 4439077191..c2e5156e8d 100644 --- a/opcodes/openrisc-ibld.c +++ b/opcodes/openrisc-ibld.c @@ -554,8 +554,7 @@ const char * openrisc_cgen_insert_operand This function could be moved into `parse_insn_normal', but keeping it separate makes clear the interface between `parse_insn_normal' and each of the handlers. It's also needed by GAS to insert operands that couldn't be - resolved during parsing. -*/ + resolved during parsing. */ const char * openrisc_cgen_insert_operand (cd, opindex, fields, buffer, pc) @@ -656,8 +655,7 @@ int openrisc_cgen_extract_operand This function could be moved into `print_insn_normal', but keeping it separate makes clear the interface between `print_insn_normal' and each of - the handlers. -*/ + the handlers. */ int openrisc_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc) diff --git a/opcodes/openrisc-opc.c b/opcodes/openrisc-opc.c index 87a397be35..687996c0dd 100644 --- a/opcodes/openrisc-opc.c +++ b/opcodes/openrisc-opc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/openrisc-opc.h b/opcodes/openrisc-opc.h index bdd7e2434e..494ba5c838 100644 --- a/opcodes/openrisc-opc.h +++ b/opcodes/openrisc-opc.h @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. diff --git a/opcodes/xstormy16-desc.c b/opcodes/xstormy16-desc.c index 65867791a5..41da91ba9c 100644 --- a/opcodes/xstormy16-desc.c +++ b/opcodes/xstormy16-desc.c @@ -302,6 +302,21 @@ const CGEN_IFLD xstormy16_cgen_ifld_table[] = #undef A + +/* multi ifield declarations */ + +const CGEN_MAYBE_MULTI_IFLD XSTORMY16_F_ABS24_MULTI_IFIELD []; + + +/* multi ifield definitions */ + +const CGEN_MAYBE_MULTI_IFLD XSTORMY16_F_ABS24_MULTI_IFIELD [] = +{ + { 0, &(xstormy16_cgen_ifld_table[34]) }, + { 0, &(xstormy16_cgen_ifld_table[35]) }, + {0,0} +}; + /* The operand table. */ #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -319,120 +334,159 @@ const CGEN_OPERAND xstormy16_cgen_operand_table[] = { /* pc: program counter */ { "pc", XSTORMY16_OPERAND_PC, HW_H_PC, 0, 0, + { 0, &(xstormy16_cgen_ifld_table[0]) }, { 0|A(SEM_ONLY), { (1<default_insn_bitsize == UNSET) cd->default_insn_bitsize = isa->default_insn_bitsize; else if (isa->default_insn_bitsize == cd->default_insn_bitsize) @@ -1231,8 +1285,8 @@ xstormy16_cgen_rebuild_tables (cd) else cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; - /* Base insn sizes of all selected isas must be equal or we set - the result to 0, meaning "unknown". */ + /* Base insn sizes of all selected isas must be equal + or we set the result to 0, meaning "unknown". */ if (cd->base_insn_bitsize == UNSET) cd->base_insn_bitsize = isa->base_insn_bitsize; else if (isa->base_insn_bitsize == cd->base_insn_bitsize) -- 2.34.1