aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorTimothy Wall <twall@alum.mit.edu>2001-11-13 14:22:53 +0000
committerTimothy Wall <twall@alum.mit.edu>2001-11-13 14:22:53 +0000
commit6e9179034707f18294ae1cbebcc7e9714a46951d (patch)
tree85f85a20b4ea7e4ff949b0703aae7c42bc8ed6b7 /include/opcode
parent1a78a35acfb696d2262b7c2d707b9e6421c99aaa (diff)
downloadgdb-6e9179034707f18294ae1cbebcc7e9714a46951d.zip
gdb-6e9179034707f18294ae1cbebcc7e9714a46951d.tar.gz
gdb-6e9179034707f18294ae1cbebcc7e9714a46951d.tar.bz2
Fix tic54x testsuite failures and Lmem disassembly bugs.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/ChangeLog5
-rw-r--r--include/opcode/tic54x.h28
2 files changed, 17 insertions, 16 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index fab2053..0c941af 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -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>
diff --git a/include/opcode/tic54x.h b/include/opcode/tic54x.h
index 09ee8c9..ae65722 100644
--- a/include/opcode/tic54x.h
+++ b/include/opcode/tic54x.h
@@ -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 */
- unsigned short opcode2, mask2; /* some insns have an extended opcode */
+#define FL_PAR 0x400 /* Parallel instruction. */
-} template;
+ unsigned short opcode2, mask2; /* some insns have an extended opcode */
-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];
+ const char* parname;
enum optype paroperand_types[MAX_OPERANDS];
-} partemplate;
+
+} template;
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_ */