public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
* 1 line change to silence warnings
@ 2003-08-07 15:12 Michael Meissner
  2003-08-07 16:09 ` Doug Evans
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Michael Meissner @ 2003-08-07 15:12 UTC (permalink / raw)
  To: binutils; +Cc: cgen

This change fully initalizes the last record of each CGEN_OPINST array,
silencing many warnings.  Ok to apply?

2003-08-06  Michael Meissner  <gnu@the-meissners.org>

	* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
	the elements for the END record of CGEN_OPINST, silencing
	warnings.

*** cgen/opc-opinst.scm.~1.3.~	2003-05-15 03:25:02.000000000 -0400
--- cgen/opc-opinst.scm	2003-08-06 16:38:08.000000000 -0400
***************
*** 54,60 ****
  		  ins)
        (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
  		  outs)
!       "  { END }\n};\n\n")))
  )
  
  (define (-gen-operand-instance-tables)
--- 54,60 ----
  		  ins)
        (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
  		  outs)
!       "  { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }\n};\n\n")))
  )
  
  (define (-gen-operand-instance-tables)

-- 
Michael Meissner
email: gnu@the-meissners.org
http://www.the-meissners.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* 1 line change to silence warnings
  2003-08-07 15:12 1 line change to silence warnings Michael Meissner
@ 2003-08-07 16:09 ` Doug Evans
  2003-08-08  8:11 ` Doug Evans
  2003-08-08  8:16 ` Nick Clifton
  2 siblings, 0 replies; 5+ messages in thread
From: Doug Evans @ 2003-08-07 16:09 UTC (permalink / raw)
  To: Michael Meissner; +Cc: cgen, nickc

Michael Meissner writes:
 > This change fully initalizes the last record of each CGEN_OPINST array,
 > silencing many warnings.  Ok to apply?
 > 
 > 2003-08-06  Michael Meissner  <gnu@the-meissners.org>
 > 
 > 	* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
 > 	the elements for the END record of CGEN_OPINST, silencing
 > 	warnings.
 > 
 > *** cgen/opc-opinst.scm.~1.3.~	2003-05-15 03:25:02.000000000 -0400
 > --- cgen/opc-opinst.scm	2003-08-06 16:38:08.000000000 -0400
 > ***************
 > *** 54,60 ****
 >   		  ins)
 >         (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
 >   		  outs)
 > !       "  { END }\n};\n\n")))
 >   )
 >   
 >   (define (-gen-operand-instance-tables)
 > --- 54,60 ----
 >   		  ins)
 >         (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
 >   		  outs)
 > !       "  { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }\n};\n\n")))
 >   )
 >   
 >   (define (-gen-operand-instance-tables)

Blech, ain't life grand.
Changes to cgen/* files go to this list not binutils.

This is approved and will go in shortly.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 1 line change to silence warnings
  2003-08-07 15:12 1 line change to silence warnings Michael Meissner
  2003-08-07 16:09 ` Doug Evans
@ 2003-08-08  8:11 ` Doug Evans
  2003-08-08  8:16 ` Nick Clifton
  2 siblings, 0 replies; 5+ messages in thread
From: Doug Evans @ 2003-08-08  8:11 UTC (permalink / raw)
  To: Michael Meissner; +Cc: cgen

Michael Meissner writes:
 > This change fully initalizes the last record of each CGEN_OPINST array,
 > silencing many warnings.  Ok to apply?
 > 
 > 2003-08-06  Michael Meissner  <gnu@the-meissners.org>
 > 
 > 	* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
 > 	the elements for the END record of CGEN_OPINST, silencing
 > 	warnings.
 > 
 > *** cgen/opc-opinst.scm.~1.3.~	2003-05-15 03:25:02.000000000 -0400
 > --- cgen/opc-opinst.scm	2003-08-06 16:38:08.000000000 -0400
 > ***************
 > *** 54,60 ****
 >   		  ins)
 >         (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
 >   		  outs)
 > !       "  { END }\n};\n\n")))
 >   )
 >   
 >   (define (-gen-operand-instance-tables)
 > --- 54,60 ----
 >   		  ins)
 >         (string-map (lambda (op)  (-gen-operand-instance op "OUTPUT"))
 >   		  outs)
 > !       "  { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }\n};\n\n")))
 >   )
 >   
 >   (define (-gen-operand-instance-tables)

Checked in.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 1 line change to silence warnings
  2003-08-07 15:12 1 line change to silence warnings Michael Meissner
  2003-08-07 16:09 ` Doug Evans
  2003-08-08  8:11 ` Doug Evans
@ 2003-08-08  8:16 ` Nick Clifton
  2003-08-09 14:13   ` Michael Meissner
  2 siblings, 1 reply; 5+ messages in thread
From: Nick Clifton @ 2003-08-08  8:16 UTC (permalink / raw)
  To: Michael Meissner; +Cc: binutils, cgen

Hi Michael,

> 2003-08-06  Michael Meissner  <gnu@the-meissners.org>
>
> 	* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
> 	the elements for the END record of CGEN_OPINST, silencing
> 	warnings.

Approved - please apply.

(Also if you don't mind, would you regenerate the files that are built
 from this file ?)

Cheers
        Nick
        

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 1 line change to silence warnings
  2003-08-08  8:16 ` Nick Clifton
@ 2003-08-09 14:13   ` Michael Meissner
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Meissner @ 2003-08-09 14:13 UTC (permalink / raw)
  To: binutils, cgen

On Fri, Aug 08, 2003 at 09:04:03AM +0100, Nick Clifton wrote:
> Hi Michael,
> 
> > 2003-08-06  Michael Meissner  <gnu@the-meissners.org>
> >
> > 	* opc-opinst.scm (-gen-operand-instance-table): Initialize all of
> > 	the elements for the END record of CGEN_OPINST, silencing
> > 	warnings.
> 
> Approved - please apply.
> 
> (Also if you don't mind, would you regenerate the files that are built
>  from this file ?)

Done.  Here is the diff for all of the generated files.  All of the assemblers
have no regressions in make check, except for iq2000 which doesn't have the
necessary support in the configure files to build.  The m32r has one failure
(in 'vtable entry0'), but it had that failure before I did my change.  Note to
people, around 4pm I checked in the wrong version of cgen-ibld.in, and later
fixed it.

2003-08-07  Michael Meissner  <gnu@the-meissners.org>

	* fr30-asm.c: Regenerate.
	* fr30-dis.c: Ditto.
	* fr30-ibld.c: Ditto.
	* frv-asm.c: Ditto.
	* frv-dis.c: Ditto.
	* frv-ibld.c: Ditto.
	* ip2k-asm.c: Ditto.
	* ip2k-dis.c: Ditto.
	* ip2k-ibld.c: Ditto.
	* iq2000-asm.c: Ditto.
	* iq2000-dis.c: Ditto.
	* iq2000-ibld.c: Ditto.
	* m32r-asm.c: Ditto.
	* m32r-dis.c: Ditto.
	* m32r-ibld.c: Ditto.
	* openrisc-asm.c: Ditto.
	* openrisc-dis.c: Ditto.
	* openrisc-ibld.c: Ditto.
	* xstormy16-asm.c: Ditto.
	* xstormy16-dis.c: Ditto.
	* xstormy16-ibld.c: Ditto.

*** fr30-asm.c.~1~	2003-08-08 20:29:39.000000000 -0400
--- fr30-asm.c	2003-08-08 20:08:11.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** fr30_cgen_init_asm (cd)
*** 356,363 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! fr30_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 356,362 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! fr30_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** fr30_cgen_build_insn_regex (insn)
*** 480,490 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 479,488 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 622,633 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! fr30_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 620,630 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! fr30_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** fr30_cgen_assemble_insn (cd, str, fields
*** 731,739 ****
     FIXME: Not currently used.  */
  
  void
! fr30_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 728,734 ----
     FIXME: Not currently used.  */
  
  void
! fr30_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** fr30-dis.c.~1~	2003-08-08 20:29:39.000000000 -0400
--- fr30-dis.c	2003-08-08 20:08:11.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** fr30_cgen_init_dis (cd)
*** 343,355 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 342,353 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 369,381 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 367,378 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 399,410 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 396,406 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 418,434 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 414,429 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 460,473 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 455,467 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 491,502 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 485,495 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 601,610 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 594,600 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 643,651 ****
  } cpu_desc_list;
  
  int
! print_insn_fr30 (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 633,639 ----
  } cpu_desc_list;
  
  int
! print_insn_fr30 (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** fr30-ibld.c.~1~	2003-08-08 20:29:39.000000000 -0400
--- fr30-ibld.c	2003-08-08 20:08:11.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** frv-asm.c.~1~	2003-08-08 20:29:39.000000000 -0400
--- frv-asm.c	2003-08-08 20:11:14.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** frv_cgen_init_asm (cd)
*** 659,666 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! frv_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 659,665 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! frv_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** frv_cgen_build_insn_regex (insn)
*** 783,793 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 782,791 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 925,936 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! frv_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 923,933 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! frv_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** frv_cgen_assemble_insn (cd, str, fields,
*** 1034,1042 ****
     FIXME: Not currently used.  */
  
  void
! frv_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 1031,1037 ----
     FIXME: Not currently used.  */
  
  void
! frv_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** frv-dis.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- frv-dis.c	2003-08-08 20:11:14.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** frv_cgen_init_dis (cd)
*** 394,406 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 393,404 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 420,432 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 418,429 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 450,461 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 447,457 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 469,485 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 465,480 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 511,524 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 506,518 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 542,553 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 536,546 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 652,661 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 645,651 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 694,702 ****
  } cpu_desc_list;
  
  int
! print_insn_frv (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 684,690 ----
  } cpu_desc_list;
  
  int
! print_insn_frv (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** frv-ibld.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- frv-ibld.c	2003-08-08 20:11:14.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** ip2k-asm.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- ip2k-asm.c	2003-08-08 20:13:53.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** ip2k_cgen_init_asm (cd)
*** 607,614 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! ip2k_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 607,613 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! ip2k_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** ip2k_cgen_build_insn_regex (insn)
*** 731,741 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 730,739 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 873,884 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! ip2k_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 871,881 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! ip2k_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** ip2k_cgen_assemble_insn (cd, str, fields
*** 982,990 ****
     FIXME: Not currently used.  */
  
  void
! ip2k_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 979,985 ----
     FIXME: Not currently used.  */
  
  void
! ip2k_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** ip2k-dis.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- ip2k-dis.c	2003-08-08 20:13:53.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** ip2k_cgen_init_dis (cd)
*** 352,364 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 351,362 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 378,390 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 376,387 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 408,419 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 405,415 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 427,443 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 423,438 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 469,482 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 464,476 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 500,511 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 494,504 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 610,619 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 603,609 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 652,660 ****
  } cpu_desc_list;
  
  int
! print_insn_ip2k (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 642,648 ----
  } cpu_desc_list;
  
  int
! print_insn_ip2k (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** ip2k-ibld.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- ip2k-ibld.c	2003-08-08 20:13:53.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** iq2000-asm.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- iq2000-asm.c	2003-08-08 20:33:26.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** iq2000_cgen_init_asm (cd)
*** 493,500 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! iq2000_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 493,499 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! iq2000_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** iq2000_cgen_build_insn_regex (insn)
*** 617,627 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 616,625 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 759,770 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! iq2000_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 757,767 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! iq2000_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** iq2000_cgen_assemble_insn (cd, str, fiel
*** 868,876 ****
     FIXME: Not currently used.  */
  
  void
! iq2000_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 865,871 ----
     FIXME: Not currently used.  */
  
  void
! iq2000_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** iq2000-dis.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- iq2000-dis.c	2003-08-08 20:33:26.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** iq2000_cgen_init_dis (cd)
*** 215,227 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 214,225 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 241,253 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 239,250 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 271,282 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 268,278 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 290,306 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 286,301 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 332,345 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 327,339 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 363,374 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 357,367 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 473,482 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 466,472 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 515,523 ****
  } cpu_desc_list;
  
  int
! print_insn_iq2000 (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 505,511 ----
  } cpu_desc_list;
  
  int
! print_insn_iq2000 (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** iq2000-ibld.c.~1~	2003-08-08 20:29:40.000000000 -0400
--- iq2000-ibld.c	2003-08-08 20:33:26.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** m32r-asm.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- m32r-asm.c	2003-08-08 20:16:20.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** m32r_cgen_init_asm (cd)
*** 358,365 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! m32r_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 358,364 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! m32r_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** m32r_cgen_build_insn_regex (insn)
*** 482,492 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 481,490 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 624,635 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! m32r_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 622,632 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! m32r_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** m32r_cgen_assemble_insn (cd, str, fields
*** 733,741 ****
     FIXME: Not currently used.  */
  
  void
! m32r_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 730,736 ----
     FIXME: Not currently used.  */
  
  void
! m32r_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** m32r-dis.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- m32r-dis.c	2003-08-08 20:16:20.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** m32r_cgen_init_dis (cd)
*** 274,286 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 273,284 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 300,312 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 298,309 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 330,341 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 327,337 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 349,365 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 345,360 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 391,404 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 386,398 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 422,433 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 416,426 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 532,541 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 525,531 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 574,582 ****
  } cpu_desc_list;
  
  int
! print_insn_m32r (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 564,570 ----
  } cpu_desc_list;
  
  int
! print_insn_m32r (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** m32r-ibld.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- m32r-ibld.c	2003-08-08 20:16:20.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** openrisc-asm.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- openrisc-asm.c	2003-08-08 20:18:47.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** openrisc_cgen_init_asm (cd)
*** 277,284 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! openrisc_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 277,283 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! openrisc_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** openrisc_cgen_build_insn_regex (insn)
*** 401,411 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 400,409 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 543,554 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! openrisc_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 541,551 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! openrisc_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** openrisc_cgen_assemble_insn (cd, str, fi
*** 652,660 ****
     FIXME: Not currently used.  */
  
  void
! openrisc_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 649,655 ----
     FIXME: Not currently used.  */
  
  void
! openrisc_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** openrisc-dis.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- openrisc-dis.c	2003-08-08 20:18:47.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** openrisc_cgen_init_dis (cd)
*** 161,173 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 160,171 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 187,199 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 185,196 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 217,228 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 214,224 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 236,252 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 232,247 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 278,291 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 273,285 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 309,320 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 303,313 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 419,428 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 412,418 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 461,469 ****
  } cpu_desc_list;
  
  int
! print_insn_openrisc (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 451,457 ----
  } cpu_desc_list;
  
  int
! print_insn_openrisc (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** openrisc-ibld.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- openrisc-ibld.c	2003-08-08 20:18:47.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
*** xstormy16-asm.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- xstormy16-asm.c	2003-08-08 20:21:09.000000000 -0400
*************** along with this program; if not, write t
*** 43,49 ****
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *));
  \f
  /* -- assembler routines inserted here.  */
  
--- 43,49 ----
  #define max(a,b) ((a) > (b) ? (a) : (b))
  
  static const char * parse_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
  \f
  /* -- assembler routines inserted here.  */
  
*************** xstormy16_cgen_init_asm (cd)
*** 317,324 ****
     Returns NULL for success, an error message for failure.  */
  
  char * 
! xstormy16_cgen_build_insn_regex (insn)
!      CGEN_INSN *insn;
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
--- 317,323 ----
     Returns NULL for success, an error message for failure.  */
  
  char * 
! xstormy16_cgen_build_insn_regex (CGEN_INSN *insn)
  {  
    CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
    const char *mnem = CGEN_INSN_MNEMONIC (insn);
*************** xstormy16_cgen_build_insn_regex (insn)
*** 441,451 ****
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (cd, insn, strp, fields)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      const char **strp;
!      CGEN_FIELDS *fields;
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
--- 440,449 ----
     Returns NULL for success, an error message for failure.  */
  
  static const char *
! parse_insn_normal (CGEN_CPU_DESC cd,
! 		   const CGEN_INSN *insn,
! 		   const char **strp,
! 		   CGEN_FIELDS *fields)
  {
    /* ??? Runtime added insns not handled yet.  */
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
*************** parse_insn_normal (cd, insn, strp, field
*** 583,594 ****
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! xstormy16_cgen_assemble_insn (cd, str, fields, buf, errmsg)
!      CGEN_CPU_DESC cd;
!      const char *str;
!      CGEN_FIELDS *fields;
!      CGEN_INSN_BYTES_PTR buf;
!      char **errmsg;
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
--- 581,591 ----
     mind helps keep the design clean.  */
  
  const CGEN_INSN *
! xstormy16_cgen_assemble_insn (CGEN_CPU_DESC cd,
! 			   const char *str,
! 			   CGEN_FIELDS *fields,
! 			   CGEN_INSN_BYTES_PTR buf,
! 			   char **errmsg)
  {
    const char *start;
    CGEN_INSN_LIST *ilist;
*************** xstormy16_cgen_assemble_insn (cd, str, f
*** 692,700 ****
     FIXME: Not currently used.  */
  
  void
! xstormy16_cgen_asm_hash_keywords (cd, opvals)
!      CGEN_CPU_DESC cd;
!      CGEN_KEYWORD *opvals;
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
--- 689,695 ----
     FIXME: Not currently used.  */
  
  void
! xstormy16_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
  {
    CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
    const CGEN_KEYWORD_ENTRY * ke;
*** xstormy16-dis.c.~1~	2003-08-08 20:29:41.000000000 -0400
--- xstormy16-dis.c	2003-08-08 20:21:09.000000000 -0400
*************** along with this program; if not, write t
*** 41,61 ****
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int));
  static void print_address
!      PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int));
  static void print_keyword
!      PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int));
  static void print_insn_normal
!      PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *,
! 	      bfd_vma, int));
  static int print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned));
  static int default_print_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
  static int read_insn
!      PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int,
! 	      CGEN_EXTRACT_INFO *, unsigned long *));
  \f
  /* -- disassembler routines inserted here */
  
--- 41,60 ----
  #define UNKNOWN_INSN_MSG _("*unknown*")
  
  static void print_normal
!   (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
  static void print_address
!   (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
  static void print_keyword
!   (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
  static void print_insn_normal
!   (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
  static int print_insn
!   (CGEN_CPU_DESC, bfd_vma,  disassemble_info *, char *, unsigned);
  static int default_print_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
  static int read_insn
!   (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
!    unsigned long *);
  \f
  /* -- disassembler routines inserted here */
  
*************** xstormy16_cgen_init_dis (cd)
*** 194,206 ****
  /* Default print handler.  */
  
  static void
! print_normal (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      long value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 193,204 ----
  /* Default print handler.  */
  
  static void
! print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	      void *dis_info,
! 	      long value,
! 	      unsigned int attrs,
! 	      bfd_vma pc ATTRIBUTE_UNUSED,
! 	      int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_normal (cd, dis_info, value, attrs
*** 220,232 ****
  /* Default address handler.  */
  
  static void
! print_address (cd, dis_info, value, attrs, pc, length)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      bfd_vma value;
!      unsigned int attrs;
!      bfd_vma pc ATTRIBUTE_UNUSED;
!      int length ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
--- 218,229 ----
  /* Default address handler.  */
  
  static void
! print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       bfd_vma value,
! 	       unsigned int attrs,
! 	       bfd_vma pc ATTRIBUTE_UNUSED,
! 	       int length ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
  
*************** print_address (cd, dis_info, value, attr
*** 250,261 ****
  /* Keyword print handler.  */
  
  static void
! print_keyword (cd, dis_info, keyword_table, value, attrs)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      PTR dis_info;
!      CGEN_KEYWORD *keyword_table;
!      long value;
!      unsigned int attrs ATTRIBUTE_UNUSED;
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
--- 247,257 ----
  /* Keyword print handler.  */
  
  static void
! print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	       void *dis_info,
! 	       CGEN_KEYWORD *keyword_table,
! 	       long value,
! 	       unsigned int attrs ATTRIBUTE_UNUSED)
  {
    disassemble_info *info = (disassemble_info *) dis_info;
    const CGEN_KEYWORD_ENTRY *ke;
*************** print_keyword (cd, dis_info, keyword_tab
*** 269,285 ****
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `PTR' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (cd, dis_info, insn, fields, pc, length)
!      CGEN_CPU_DESC cd;
!      PTR dis_info;
!      const CGEN_INSN *insn;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
!      int length;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
--- 265,280 ----
  \f
  /* Default insn printer.
  
!    DIS_INFO is defined as `void *' so the disassembler needn't know anything
     about disassemble_info.  */
  
  static void
! print_insn_normal (CGEN_CPU_DESC cd,
! 		   void *dis_info,
! 		   const CGEN_INSN *insn,
! 		   CGEN_FIELDS *fields,
! 		   bfd_vma pc,
! 		   int length)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    disassemble_info *info = (disassemble_info *) dis_info;
*************** print_insn_normal (cd, dis_info, insn, f
*** 311,324 ****
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      int buflen;
!      CGEN_EXTRACT_INFO *ex_info;
!      unsigned long *insn_value;
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
--- 306,318 ----
     Returns 0 if all is well, non-zero otherwise.  */
  
  static int
! read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	   bfd_vma pc,
! 	   disassemble_info *info,
! 	   char *buf,
! 	   int buflen,
! 	   CGEN_EXTRACT_INFO *ex_info,
! 	   unsigned long *insn_value)
  {
    int status = (*info->read_memory_func) (pc, buf, buflen, info);
    if (status != 0)
*************** read_insn (cd, pc, info, buf, buflen, ex
*** 342,353 ****
     been called).  */
  
  static int
! print_insn (cd, pc, info, buf, buflen)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
!      char *buf;
!      unsigned int buflen;
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
--- 336,346 ----
     been called).  */
  
  static int
! print_insn (CGEN_CPU_DESC cd,
! 	    bfd_vma pc,
! 	    disassemble_info *info,
! 	    char *buf,
! 	    unsigned int buflen)
  {
    CGEN_INSN_INT insn_value;
    const CGEN_INSN_LIST *insn_list;
*************** print_insn (cd, pc, info, buf, buflen)
*** 452,461 ****
  #endif
  
  static int
! default_print_insn (cd, pc, info)
!      CGEN_CPU_DESC cd;
!      bfd_vma pc;
!      disassemble_info *info;
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
--- 445,451 ----
  #endif
  
  static int
! default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
  {
    char buf[CGEN_MAX_INSN_SIZE];
    int buflen;
*************** typedef struct cpu_desc_list {
*** 494,502 ****
  } cpu_desc_list;
  
  int
! print_insn_xstormy16 (pc, info)
!      bfd_vma pc;
!      disassemble_info *info;
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
--- 484,490 ----
  } cpu_desc_list;
  
  int
! print_insn_xstormy16 (bfd_vma pc, disassemble_info *info)
  {
    static cpu_desc_list *cd_list = 0;
    cpu_desc_list *cl = 0;
*** xstormy16-ibld.c.~1~	2003-08-08 20:29:42.000000000 -0400
--- xstormy16-ibld.c	2003-08-08 20:21:09.000000000 -0400
*************** along with this program; if not, write t
*** 44,73 ****
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!      PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR));
  static const char * insert_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *,
! 	      CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma));
  static int extract_normal
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
! 	      unsigned int, unsigned int, unsigned int, unsigned int,
! 	      unsigned int, unsigned int, bfd_vma, long *));
  static int extract_insn_normal
!      PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
! 	      CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma));
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!      PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT));
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!      PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *));
  static CGEN_INLINE int fill_cache
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma));
  static CGEN_INLINE long extract_1
!      PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int,
! 	      unsigned char *, bfd_vma));
  #endif
  \f
  /* Operand insertion.  */
--- 44,72 ----
  #define FLD(f) (fields->f)
  
  static const char * insert_normal
!   (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
  static const char * insert_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *,
!    CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
  static int extract_normal
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
!    unsigned int, unsigned int, unsigned int, unsigned int,
!    unsigned int, unsigned int, bfd_vma, long *);
  static int extract_insn_normal
!   (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
!    CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
  #if CGEN_INT_INSN_P
  static void put_insn_int_value
!   (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
  #endif
  #if ! CGEN_INT_INSN_P
  static CGEN_INLINE void insert_1
!   (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
  static CGEN_INLINE int fill_cache
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *,  int, int, bfd_vma);
  static CGEN_INLINE long extract_1
!   (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
  #endif
  \f
  /* Operand insertion.  */
*************** static CGEN_INLINE long extract_1
*** 77,87 ****
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (cd, value, start, length, word_length, bufp)
!      CGEN_CPU_DESC cd;
!      unsigned long value;
!      int start,length,word_length;
!      unsigned char *bufp;
  {
    unsigned long x,mask;
    int shift;
--- 76,87 ----
  /* Subroutine of insert_normal.  */
  
  static CGEN_INLINE void
! insert_1 (CGEN_CPU_DESC cd,
! 	  unsigned long value,
! 	  int start,
! 	  int length,
! 	  int word_length,
! 	  unsigned char *bufp)
  {
    unsigned long x,mask;
    int shift;
*************** insert_1 (cd, value, start, length, word
*** 118,130 ****
     necessary.  */
  
  static const char *
! insert_normal (cd, value, attrs, word_offset, start, length, word_length,
! 	       total_length, buffer)
!      CGEN_CPU_DESC cd;
!      long value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
!      CGEN_INSN_BYTES_PTR buffer;
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
--- 118,132 ----
     necessary.  */
  
  static const char *
! insert_normal (CGEN_CPU_DESC cd,
! 	       long value,
! 	       unsigned int attrs,
! 	       unsigned int word_offset,
! 	       unsigned int start,
! 	       unsigned int length,
! 	       unsigned int word_length,
! 	       unsigned int total_length,
! 	       CGEN_INSN_BYTES_PTR buffer)
  {
    static char errbuf[100];
    /* Written this way to avoid undefined behaviour.  */
*************** insert_normal (cd, value, attrs, word_of
*** 232,243 ****
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (cd, insn, fields, buffer, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN * insn;
!      CGEN_FIELDS * fields;
!      CGEN_INSN_BYTES_PTR buffer;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
--- 234,244 ----
     The result is an error message or NULL if success.  */
  
  static const char *
! insert_insn_normal (CGEN_CPU_DESC cd,
! 		    const CGEN_INSN * insn,
! 		    CGEN_FIELDS * fields,
! 		    CGEN_INSN_BYTES_PTR buffer,
! 		    bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    unsigned long value;
*************** insert_insn_normal (cd, insn, fields, bu
*** 288,299 ****
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (cd, buf, length, insn_length, value)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_INSN_BYTES_PTR buf;
!      int length;
!      int insn_length;
!      CGEN_INSN_INT value;
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
--- 289,299 ----
   because it needs <prefix>-desc.h for CGEN_INT_INSN_P.  */
  
  static void
! put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 		    CGEN_INSN_BYTES_PTR buf,
! 		    int length,
! 		    int insn_length,
! 		    CGEN_INSN_INT value)
  {
    /* For architectures with insns smaller than the base-insn-bitsize,
       length may be too big.  */
*************** put_insn_int_value (cd, buf, length, ins
*** 320,330 ****
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (cd, ex_info, offset, bytes, pc)
!      CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
!      CGEN_EXTRACT_INFO *ex_info;
!      int offset, bytes;
!      bfd_vma pc;
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
--- 320,330 ----
     Returns 1 for success, 0 for failure.  */
  
  static CGEN_INLINE int
! fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
! 	    CGEN_EXTRACT_INFO *ex_info,
! 	    int offset,
! 	    int bytes,
! 	    bfd_vma pc)
  {
    /* It's doubtful that the middle part has already been fetched so
       we don't optimize that case.  kiss.  */
*************** fill_cache (cd, ex_info, offset, bytes, 
*** 364,375 ****
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
!      CGEN_CPU_DESC cd;
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
!      int start,length,word_length;
!      unsigned char *bufp;
!      bfd_vma pc ATTRIBUTE_UNUSED;
  {
    unsigned long x;
    int shift;
--- 364,376 ----
  /* Subroutine of extract_normal.  */
  
  static CGEN_INLINE long
! extract_1 (CGEN_CPU_DESC cd,
! 	   CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
! 	   int start,
! 	   int length,
! 	   int word_length,
! 	   unsigned char *bufp,
! 	   bfd_vma pc ATTRIBUTE_UNUSED)
  {
    unsigned long x;
    int shift;
*************** extract_1 (cd, ex_info, start, length, w
*** 408,430 ****
     necessary.  */
  
  static int
! extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
! 		word_length, total_length, pc, valuep)
!      CGEN_CPU_DESC cd;
  #if ! CGEN_INT_INSN_P
!      CGEN_EXTRACT_INFO *ex_info;
  #else
!      CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED;
  #endif
!      CGEN_INSN_INT insn_value;
!      unsigned int attrs;
!      unsigned int word_offset, start, length, word_length, total_length;
  #if ! CGEN_INT_INSN_P
!      bfd_vma pc;
  #else
!      bfd_vma pc ATTRIBUTE_UNUSED;
  #endif
!      long *valuep;
  {
    long value, mask;
  
--- 409,433 ----
     necessary.  */
  
  static int
! extract_normal (CGEN_CPU_DESC cd,
  #if ! CGEN_INT_INSN_P
! 		CGEN_EXTRACT_INFO *ex_info,
  #else
! 		CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
  #endif
! 		CGEN_INSN_INT insn_value,
! 		unsigned int attrs,
! 		unsigned int word_offset,
! 		unsigned int start,
! 		unsigned int length,
! 		unsigned int word_length,
! 		unsigned int total_length,
  #if ! CGEN_INT_INSN_P
! 		bfd_vma pc,
  #else
! 		bfd_vma pc ATTRIBUTE_UNUSED,
  #endif
! 		long *valuep)
  {
    long value, mask;
  
*************** extract_normal (cd, ex_info, insn_value,
*** 505,517 ****
     been called).  */
  
  static int
! extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc)
!      CGEN_CPU_DESC cd;
!      const CGEN_INSN *insn;
!      CGEN_EXTRACT_INFO *ex_info;
!      CGEN_INSN_INT insn_value;
!      CGEN_FIELDS *fields;
!      bfd_vma pc;
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;
--- 508,519 ----
     been called).  */
  
  static int
! extract_insn_normal (CGEN_CPU_DESC cd,
! 		     const CGEN_INSN *insn,
! 		     CGEN_EXTRACT_INFO *ex_info,
! 		     CGEN_INSN_INT insn_value,
! 		     CGEN_FIELDS *fields,
! 		     bfd_vma pc)
  {
    const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
    const CGEN_SYNTAX_CHAR_TYPE *syn;

-- 
Michael Meissner
email: gnu@the-meissners.org
http://www.the-meissners.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-08-09  0:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-07 15:12 1 line change to silence warnings Michael Meissner
2003-08-07 16:09 ` Doug Evans
2003-08-08  8:11 ` Doug Evans
2003-08-08  8:16 ` Nick Clifton
2003-08-09 14:13   ` Michael Meissner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).