aboutsummaryrefslogtreecommitdiff
path: root/include/opcode/mips.h
diff options
context:
space:
mode:
authorGavin Romig-Koch <gavin@redhat.com>1999-11-01 19:29:55 +0000
committerGavin Romig-Koch <gavin@redhat.com>1999-11-01 19:29:55 +0000
commit2bd7f1f332946c3baeef11111d1dfb1994ce9942 (patch)
tree4a2d3dec575bdd40004c21aeb955f15b5747646c /include/opcode/mips.h
parentc58c5ee7b57bdfbc8305a7676bb7791ba4e12248 (diff)
downloadgdb-2bd7f1f332946c3baeef11111d1dfb1994ce9942.zip
gdb-2bd7f1f332946c3baeef11111d1dfb1994ce9942.tar.gz
gdb-2bd7f1f332946c3baeef11111d1dfb1994ce9942.tar.bz2
For include/opcode:
* mips.h (OPCODE_IS_MEMBER): New. For gas: * config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER. (mips_ip): Use OPCODE_IS_MEMBER. For opcodes: * mips-dis.c (_print_insn_mips): Use OPCODE_IS_MEMBER.
Diffstat (limited to 'include/opcode/mips.h')
-rw-r--r--include/opcode/mips.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index f0a8c7e..07e0fd7 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -319,6 +319,24 @@ struct mips_opcode
/* Toshiba R3900 instruction. */
#define INSN_3900 0x00000080
+/* Test for membership in an ISA including chip specific ISAs.
+ INSN is pointer to an element of the opcode table; ISA is the
+ specified ISA to test against; and CPU is the CPU specific ISA
+ to test, or zero if no CPU specific ISA test is desired. */
+
+#define OPCODE_IS_MEMBER(insn,isa,cpu) \
+ ((((insn)->membership & INSN_ISA) != 0 \
+ && ((insn)->membership & INSN_ISA) <= isa) \
+ || (cpu == 4650 \
+ && ((insn)->membership & INSN_4650) != 0) \
+ || (cpu == 4010 \
+ && ((insn)->membership & INSN_4010) != 0) \
+ || ((cpu == 4100 \
+ || cpu == 4111 \
+ ) \
+ && ((insn)->membership & INSN_4100) != 0) \
+ || (cpu == 3900 \
+ && ((insn)->membership & INSN_3900) != 0))
/* This is a list of macro expanded instructions.
*