This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1 line change to silence warnings


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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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 *));
  
  /* -- 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 *);
  
  /* -- 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 *));
  
  /* -- 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 *);
  
  /* -- 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 ****
  
  /* 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 ----
  
  /* 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
  
  /* 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
  
  /* 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]