regenerate cgen files after prototype fix

This commit is contained in:
Michael Meissner 2003-08-09 00:39:21 +00:00
parent af2bbf6cf1
commit ffead7aece
22 changed files with 911 additions and 994 deletions

View file

@ -94,6 +94,28 @@
(extract_normal): Ditto. (extract_normal): Ditto.
(extract_insn_normal): Ditto. (extract_insn_normal): Ditto.
* fr30-asm.c: Regenerate.
* fr30-dis.c: Ditto.
* fr30-ibld.c: Ditto.
* frv-asm.c: Regenerate.
* frv-dis.c: Ditto.
* frv-ibld.c: Ditto.
* ip2k-asm.c: Regenerate.
* ip2k-dis.c: Ditto.
* ip2k-ibld.c: Ditto.
* iq2000-asm.c: Regenerate.
* iq2000-dis.c: Ditto.
* iq2000-ibld.c: Ditto.
* m32r-asm.c: Regenerate.
* m32r-dis.c: Ditto.
* m32r-ibld.c: Ditto.
* openrisc-asm.c: Regenerate.
* openrisc-dis.c: Ditto.
* openrisc-ibld.c: Ditto.
* xstormy16-asm.c: Regenerate.
* xstormy16-dis.c: Ditto.
* xstormy16-ibld.c: Ditto.
2003-08-06 Nick Clifton <nickc@redhat.com> 2003-08-06 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation. * po/fr.po: Updated French translation.

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -356,8 +356,7 @@ fr30_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
fr30_cgen_build_insn_regex (insn) fr30_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -480,11 +479,10 @@ fr30_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -622,12 +620,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
fr30_cgen_assemble_insn (cd, str, fields, buf, errmsg) fr30_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -731,9 +728,7 @@ fr30_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
fr30_cgen_asm_hash_keywords (cd, opvals) fr30_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -343,13 +342,12 @@ fr30_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -369,13 +367,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -399,12 +396,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -418,17 +414,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -460,14 +455,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -491,12 +485,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -601,10 +594,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -643,9 +633,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_fr30 (pc, info) print_insn_fr30 (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -659,8 +659,7 @@ frv_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
frv_cgen_build_insn_regex (insn) frv_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -783,11 +782,10 @@ frv_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -925,12 +923,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
frv_cgen_assemble_insn (cd, str, fields, buf, errmsg) frv_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -1034,9 +1031,7 @@ frv_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
frv_cgen_asm_hash_keywords (cd, opvals) frv_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -394,13 +393,12 @@ frv_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -420,13 +418,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -450,12 +447,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -469,17 +465,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -511,14 +506,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -542,12 +536,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -652,10 +645,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -694,9 +684,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_frv (pc, info) print_insn_frv (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -607,8 +607,7 @@ ip2k_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
ip2k_cgen_build_insn_regex (insn) ip2k_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -731,11 +730,10 @@ ip2k_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -873,12 +871,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
ip2k_cgen_assemble_insn (cd, str, fields, buf, errmsg) ip2k_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -982,9 +979,7 @@ ip2k_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
ip2k_cgen_asm_hash_keywords (cd, opvals) ip2k_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -352,13 +351,12 @@ ip2k_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -378,13 +376,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -408,12 +405,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -427,17 +423,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -469,14 +464,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -500,12 +494,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -610,10 +603,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -652,9 +642,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_ip2k (pc, info) print_insn_ip2k (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -493,8 +493,7 @@ iq2000_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
iq2000_cgen_build_insn_regex (insn) iq2000_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -617,11 +616,10 @@ iq2000_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -759,12 +757,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
iq2000_cgen_assemble_insn (cd, str, fields, buf, errmsg) iq2000_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -868,9 +865,7 @@ iq2000_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
iq2000_cgen_asm_hash_keywords (cd, opvals) iq2000_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -215,13 +214,12 @@ iq2000_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -241,13 +239,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -271,12 +268,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -290,17 +286,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -332,14 +327,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -363,12 +357,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -473,10 +466,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -515,9 +505,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_iq2000 (pc, info) print_insn_iq2000 (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -358,8 +358,7 @@ m32r_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
m32r_cgen_build_insn_regex (insn) m32r_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -482,11 +481,10 @@ m32r_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -624,12 +622,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
m32r_cgen_assemble_insn (cd, str, fields, buf, errmsg) m32r_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -733,9 +730,7 @@ m32r_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
m32r_cgen_asm_hash_keywords (cd, opvals) m32r_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -274,13 +273,12 @@ m32r_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -300,13 +298,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -330,12 +327,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -349,17 +345,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -391,14 +386,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -422,12 +416,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -532,10 +525,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -574,9 +564,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_m32r (pc, info) print_insn_m32r (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -277,8 +277,7 @@ openrisc_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
openrisc_cgen_build_insn_regex (insn) openrisc_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -401,11 +400,10 @@ openrisc_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -543,12 +541,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
openrisc_cgen_assemble_insn (cd, str, fields, buf, errmsg) openrisc_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -652,9 +649,7 @@ openrisc_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
openrisc_cgen_asm_hash_keywords (cd, opvals) openrisc_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -161,13 +160,12 @@ openrisc_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -187,13 +185,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -217,12 +214,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -236,17 +232,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -278,14 +273,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -309,12 +303,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -419,10 +412,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -461,9 +451,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_openrisc (pc, info) print_insn_openrisc (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;

View file

@ -43,7 +43,7 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define max(a,b) ((a) > (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b))
static const char * parse_insn_normal static const char * parse_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *)); (CGEN_CPU_DESC, const CGEN_INSN *, const char **, CGEN_FIELDS *);
/* -- assembler routines inserted here. */ /* -- assembler routines inserted here. */
@ -317,8 +317,7 @@ xstormy16_cgen_init_asm (cd)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
char * char *
xstormy16_cgen_build_insn_regex (insn) xstormy16_cgen_build_insn_regex (CGEN_INSN *insn)
CGEN_INSN *insn;
{ {
CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn); CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
const char *mnem = CGEN_INSN_MNEMONIC (insn); const char *mnem = CGEN_INSN_MNEMONIC (insn);
@ -441,11 +440,10 @@ xstormy16_cgen_build_insn_regex (insn)
Returns NULL for success, an error message for failure. */ Returns NULL for success, an error message for failure. */
static const char * static const char *
parse_insn_normal (cd, insn, strp, fields) parse_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; const char **strp,
const char **strp; CGEN_FIELDS *fields)
CGEN_FIELDS *fields;
{ {
/* ??? Runtime added insns not handled yet. */ /* ??? Runtime added insns not handled yet. */
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
@ -583,12 +581,11 @@ parse_insn_normal (cd, insn, strp, fields)
mind helps keep the design clean. */ mind helps keep the design clean. */
const CGEN_INSN * const CGEN_INSN *
xstormy16_cgen_assemble_insn (cd, str, fields, buf, errmsg) xstormy16_cgen_assemble_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const char *str,
const char *str; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; char **errmsg)
char **errmsg;
{ {
const char *start; const char *start;
CGEN_INSN_LIST *ilist; CGEN_INSN_LIST *ilist;
@ -692,9 +689,7 @@ xstormy16_cgen_assemble_insn (cd, str, fields, buf, errmsg)
FIXME: Not currently used. */ FIXME: Not currently used. */
void void
xstormy16_cgen_asm_hash_keywords (cd, opvals) xstormy16_cgen_asm_hash_keywords (CGEN_CPU_DESC cd, CGEN_KEYWORD *opvals)
CGEN_CPU_DESC cd;
CGEN_KEYWORD *opvals;
{ {
CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL); CGEN_KEYWORD_SEARCH search = cgen_keyword_search_init (opvals, NULL);
const CGEN_KEYWORD_ENTRY * ke; const CGEN_KEYWORD_ENTRY * ke;

View file

@ -41,21 +41,20 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define UNKNOWN_INSN_MSG _("*unknown*") #define UNKNOWN_INSN_MSG _("*unknown*")
static void print_normal static void print_normal
PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, long, unsigned int, bfd_vma, int);
static void print_address static void print_address
PARAMS ((CGEN_CPU_DESC, PTR, bfd_vma, unsigned int, bfd_vma, int)); (CGEN_CPU_DESC, void *, bfd_vma, unsigned int, bfd_vma, int);
static void print_keyword static void print_keyword
PARAMS ((CGEN_CPU_DESC, PTR, CGEN_KEYWORD *, long, unsigned int)); (CGEN_CPU_DESC, void *, CGEN_KEYWORD *, long, unsigned int);
static void print_insn_normal static void print_insn_normal
PARAMS ((CGEN_CPU_DESC, PTR, const CGEN_INSN *, CGEN_FIELDS *, (CGEN_CPU_DESC, void *, const CGEN_INSN *, CGEN_FIELDS *, bfd_vma, int);
bfd_vma, int));
static int print_insn static int print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, unsigned);
static int default_print_insn static int default_print_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *)); (CGEN_CPU_DESC, bfd_vma, disassemble_info *);
static int read_insn static int read_insn
PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, (CGEN_CPU_DESC, bfd_vma, disassemble_info *, char *, int, CGEN_EXTRACT_INFO *,
CGEN_EXTRACT_INFO *, unsigned long *)); unsigned long *);
/* -- disassembler routines inserted here */ /* -- disassembler routines inserted here */
@ -194,13 +193,12 @@ xstormy16_cgen_init_dis (cd)
/* Default print handler. */ /* Default print handler. */
static void static void
print_normal (cd, dis_info, value, attrs, pc, length) print_normal (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; long value,
long value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -220,13 +218,12 @@ print_normal (cd, dis_info, value, attrs, pc, length)
/* Default address handler. */ /* Default address handler. */
static void static void
print_address (cd, dis_info, value, attrs, pc, length) print_address (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; bfd_vma value,
bfd_vma value; unsigned int attrs,
unsigned int attrs; bfd_vma pc ATTRIBUTE_UNUSED,
bfd_vma pc ATTRIBUTE_UNUSED; int length ATTRIBUTE_UNUSED)
int length ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -250,12 +247,11 @@ print_address (cd, dis_info, value, attrs, pc, length)
/* Keyword print handler. */ /* Keyword print handler. */
static void static void
print_keyword (cd, dis_info, keyword_table, value, attrs) print_keyword (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; void *dis_info,
PTR dis_info; CGEN_KEYWORD *keyword_table,
CGEN_KEYWORD *keyword_table; long value,
long value; unsigned int attrs ATTRIBUTE_UNUSED)
unsigned int attrs ATTRIBUTE_UNUSED;
{ {
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
const CGEN_KEYWORD_ENTRY *ke; const CGEN_KEYWORD_ENTRY *ke;
@ -269,17 +265,16 @@ print_keyword (cd, dis_info, keyword_table, value, attrs)
/* Default insn printer. /* Default insn printer.
DIS_INFO is defined as `PTR' so the disassembler needn't know anything DIS_INFO is defined as `void *' so the disassembler needn't know anything
about disassemble_info. */ about disassemble_info. */
static void static void
print_insn_normal (cd, dis_info, insn, fields, pc, length) print_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; void *dis_info,
PTR dis_info; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc,
bfd_vma pc; int length)
int length;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
disassemble_info *info = (disassemble_info *) dis_info; disassemble_info *info = (disassemble_info *) dis_info;
@ -311,14 +306,13 @@ print_insn_normal (cd, dis_info, insn, fields, pc, length)
Returns 0 if all is well, non-zero otherwise. */ Returns 0 if all is well, non-zero otherwise. */
static int static int
read_insn (cd, pc, info, buf, buflen, ex_info, insn_value) read_insn (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; int buflen,
int buflen; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; unsigned long *insn_value)
unsigned long *insn_value;
{ {
int status = (*info->read_memory_func) (pc, buf, buflen, info); int status = (*info->read_memory_func) (pc, buf, buflen, info);
if (status != 0) if (status != 0)
@ -342,12 +336,11 @@ read_insn (cd, pc, info, buf, buflen, ex_info, insn_value)
been called). */ been called). */
static int static int
print_insn (cd, pc, info, buf, buflen) print_insn (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; bfd_vma pc,
bfd_vma pc; disassemble_info *info,
disassemble_info *info; char *buf,
char *buf; unsigned int buflen)
unsigned int buflen;
{ {
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list; const CGEN_INSN_LIST *insn_list;
@ -452,10 +445,7 @@ print_insn (cd, pc, info, buf, buflen)
#endif #endif
static int static int
default_print_insn (cd, pc, info) default_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info)
CGEN_CPU_DESC cd;
bfd_vma pc;
disassemble_info *info;
{ {
char buf[CGEN_MAX_INSN_SIZE]; char buf[CGEN_MAX_INSN_SIZE];
int buflen; int buflen;
@ -494,9 +484,7 @@ typedef struct cpu_desc_list {
} cpu_desc_list; } cpu_desc_list;
int int
print_insn_xstormy16 (pc, info) print_insn_xstormy16 (bfd_vma pc, disassemble_info *info)
bfd_vma pc;
disassemble_info *info;
{ {
static cpu_desc_list *cd_list = 0; static cpu_desc_list *cd_list = 0;
cpu_desc_list *cl = 0; cpu_desc_list *cl = 0;

View file

@ -44,30 +44,29 @@ along with this program; if not, write to the Free Software Foundation, Inc.,
#define FLD(f) (fields->f) #define FLD(f) (fields->f)
static const char * insert_normal static const char * insert_normal
PARAMS ((CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int, (CGEN_CPU_DESC, long, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR)); unsigned int, unsigned int, unsigned int, CGEN_INSN_BYTES_PTR);
static const char * insert_insn_normal static const char * insert_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, (CGEN_CPU_DESC, const CGEN_INSN *,
CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma)); CGEN_FIELDS *, CGEN_INSN_BYTES_PTR, bfd_vma);
static int extract_normal static int extract_normal
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, CGEN_INSN_INT,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int,
unsigned int, unsigned int, bfd_vma, long *)); unsigned int, unsigned int, bfd_vma, long *);
static int extract_insn_normal static int extract_insn_normal
PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *, (CGEN_CPU_DESC, const CGEN_INSN *, CGEN_EXTRACT_INFO *,
CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma)); CGEN_INSN_INT, CGEN_FIELDS *, bfd_vma);
#if CGEN_INT_INSN_P #if CGEN_INT_INSN_P
static void put_insn_int_value static void put_insn_int_value
PARAMS ((CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT)); (CGEN_CPU_DESC, CGEN_INSN_BYTES_PTR, int, int, CGEN_INSN_INT);
#endif #endif
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
static CGEN_INLINE void insert_1 static CGEN_INLINE void insert_1
PARAMS ((CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *)); (CGEN_CPU_DESC, unsigned long, int, int, int, unsigned char *);
static CGEN_INLINE int fill_cache static CGEN_INLINE int fill_cache
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma)); (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, bfd_vma);
static CGEN_INLINE long extract_1 static CGEN_INLINE long extract_1
PARAMS ((CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, (CGEN_CPU_DESC, CGEN_EXTRACT_INFO *, int, int, int, unsigned char *, bfd_vma);
unsigned char *, bfd_vma));
#endif #endif
/* Operand insertion. */ /* Operand insertion. */
@ -77,11 +76,12 @@ static CGEN_INLINE long extract_1
/* Subroutine of insert_normal. */ /* Subroutine of insert_normal. */
static CGEN_INLINE void static CGEN_INLINE void
insert_1 (cd, value, start, length, word_length, bufp) insert_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; unsigned long value,
unsigned long value; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
unsigned char *bufp)
{ {
unsigned long x,mask; unsigned long x,mask;
int shift; int shift;
@ -118,13 +118,15 @@ insert_1 (cd, value, start, length, word_length, bufp)
necessary. */ necessary. */
static const char * static const char *
insert_normal (cd, value, attrs, word_offset, start, length, word_length, insert_normal (CGEN_CPU_DESC cd,
total_length, buffer) long value,
CGEN_CPU_DESC cd; unsigned int attrs,
long value; unsigned int word_offset,
unsigned int attrs; unsigned int start,
unsigned int word_offset, start, length, word_length, total_length; unsigned int length,
CGEN_INSN_BYTES_PTR buffer; unsigned int word_length,
unsigned int total_length,
CGEN_INSN_BYTES_PTR buffer)
{ {
static char errbuf[100]; static char errbuf[100];
/* Written this way to avoid undefined behaviour. */ /* Written this way to avoid undefined behaviour. */
@ -232,12 +234,11 @@ insert_normal (cd, value, attrs, word_offset, start, length, word_length,
The result is an error message or NULL if success. */ The result is an error message or NULL if success. */
static const char * static const char *
insert_insn_normal (cd, insn, fields, buffer, pc) insert_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN * insn,
const CGEN_INSN * insn; CGEN_FIELDS * fields,
CGEN_FIELDS * fields; CGEN_INSN_BYTES_PTR buffer,
CGEN_INSN_BYTES_PTR buffer; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
unsigned long value; unsigned long value;
@ -288,12 +289,11 @@ insert_insn_normal (cd, insn, fields, buffer, pc)
because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */ because it needs <prefix>-desc.h for CGEN_INT_INSN_P. */
static void static void
put_insn_int_value (cd, buf, length, insn_length, value) put_insn_int_value (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_INSN_BYTES_PTR buf,
CGEN_INSN_BYTES_PTR buf; int length,
int length; int insn_length,
int insn_length; CGEN_INSN_INT value)
CGEN_INSN_INT value;
{ {
/* For architectures with insns smaller than the base-insn-bitsize, /* For architectures with insns smaller than the base-insn-bitsize,
length may be too big. */ length may be too big. */
@ -320,11 +320,11 @@ put_insn_int_value (cd, buf, length, insn_length, value)
Returns 1 for success, 0 for failure. */ Returns 1 for success, 0 for failure. */
static CGEN_INLINE int static CGEN_INLINE int
fill_cache (cd, ex_info, offset, bytes, pc) fill_cache (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
CGEN_CPU_DESC cd ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; int offset,
int offset, bytes; int bytes,
bfd_vma pc; bfd_vma pc)
{ {
/* It's doubtful that the middle part has already been fetched so /* It's doubtful that the middle part has already been fetched so
we don't optimize that case. kiss. */ we don't optimize that case. kiss. */
@ -364,12 +364,13 @@ fill_cache (cd, ex_info, offset, bytes, pc)
/* Subroutine of extract_normal. */ /* Subroutine of extract_normal. */
static CGEN_INLINE long static CGEN_INLINE long
extract_1 (cd, ex_info, start, length, word_length, bufp, pc) extract_1 (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; int start,
int start,length,word_length; int length,
unsigned char *bufp; int word_length,
bfd_vma pc ATTRIBUTE_UNUSED; unsigned char *bufp,
bfd_vma pc ATTRIBUTE_UNUSED)
{ {
unsigned long x; unsigned long x;
int shift; int shift;
@ -408,23 +409,25 @@ extract_1 (cd, ex_info, start, length, word_length, bufp, pc)
necessary. */ necessary. */
static int static int
extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length, extract_normal (CGEN_CPU_DESC cd,
word_length, total_length, pc, valuep)
CGEN_CPU_DESC cd;
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
CGEN_EXTRACT_INFO *ex_info; CGEN_EXTRACT_INFO *ex_info,
#else #else
CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED; CGEN_EXTRACT_INFO *ex_info ATTRIBUTE_UNUSED,
#endif #endif
CGEN_INSN_INT insn_value; CGEN_INSN_INT insn_value,
unsigned int attrs; unsigned int attrs,
unsigned int word_offset, start, length, word_length, total_length; unsigned int word_offset,
unsigned int start,
unsigned int length,
unsigned int word_length,
unsigned int total_length,
#if ! CGEN_INT_INSN_P #if ! CGEN_INT_INSN_P
bfd_vma pc; bfd_vma pc,
#else #else
bfd_vma pc ATTRIBUTE_UNUSED; bfd_vma pc ATTRIBUTE_UNUSED,
#endif #endif
long *valuep; long *valuep)
{ {
long value, mask; long value, mask;
@ -505,13 +508,12 @@ extract_normal (cd, ex_info, insn_value, attrs, word_offset, start, length,
been called). */ been called). */
static int static int
extract_insn_normal (cd, insn, ex_info, insn_value, fields, pc) extract_insn_normal (CGEN_CPU_DESC cd,
CGEN_CPU_DESC cd; const CGEN_INSN *insn,
const CGEN_INSN *insn; CGEN_EXTRACT_INFO *ex_info,
CGEN_EXTRACT_INFO *ex_info; CGEN_INSN_INT insn_value,
CGEN_INSN_INT insn_value; CGEN_FIELDS *fields,
CGEN_FIELDS *fields; bfd_vma pc)
bfd_vma pc;
{ {
const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn); const CGEN_SYNTAX *syntax = CGEN_INSN_SYNTAX (insn);
const CGEN_SYNTAX_CHAR_TYPE *syn; const CGEN_SYNTAX_CHAR_TYPE *syn;