Fix tic54x testsuite failures and Lmem disassembly bugs.

This commit is contained in:
Tim Wall
2001-11-13 14:22:52 +00:00
parent 28f8744e02
commit 7d9961e897
5 changed files with 65 additions and 40 deletions

View File

@ -1,3 +1,8 @@
2001-11-11 Timothy Wall <twall@alum.mit.edu>
* tic54x.h: Revise opcode layout; don't really need a separate
structure for parallel opcodes.
2001-11-13 Zack Weinberg <zack@codesourcery.com>
Alan Modra <amodra@bigpond.net.au>

View File

@ -19,8 +19,8 @@ along with this file; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
#ifndef _TIC54X_H_
#define _TIC54X_H_
#ifndef _opcode_tic54x_h_
#define _opcode_tic54x_h_
typedef struct _symbol
{
@ -86,7 +86,6 @@ typedef struct _template
{
/* The opcode mnemonic */
const char *name;
unsigned int words; /* insn size in words */
int minops, maxops; /* min/max operand count */
/* The significant bits in the opcode. Other bits are zero.
@ -141,27 +140,24 @@ typedef struct _template
#define FL_NR 0x100 /* no repeat allowed */
#define FL_SMR 0x200 /* Smem read (for flagging write-only *+ARx */
#define FL_PAR 0x400 /* Parallel instruction. */
unsigned short opcode2, mask2; /* some insns have an extended opcode */
const char* parname;
enum optype paroperand_types[MAX_OPERANDS];
} template;
typedef struct _partemplate {
char *name;
char *parname;
unsigned int words; /* length in words */
int minops, maxops; /* min/max operand count for 2nd part of insn */
unsigned short opcode;
unsigned short mask;
enum optype operand_types[MAX_OPERANDS];
enum optype paroperand_types[MAX_OPERANDS];
} partemplate;
extern const template tic54x_unknown_opcode;
extern const template tic54x_optab[];
extern const partemplate tic54x_paroptab[];
extern const template tic54x_paroptab[];
extern const symbol mmregs[], regs[];
extern const symbol condition_codes[], cc2_codes[], status_bits[];
extern const symbol cc3_codes[];
extern const char *misc_symbols[];
struct disassemble_info;
extern const template* tic54x_get_insn (struct disassemble_info *,
bfd_vma, unsigned short, int *);
#endif /* TIC54X_H */
#endif /* _opcode_tic54x_h_ */