aboutsummaryrefslogtreecommitdiff
path: root/opcodes/mips-dis.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-06-12 21:44:54 +0000
committerNick Clifton <nickc@redhat.com>2008-06-12 21:44:54 +0000
commitdd3cbb7ef767465408230e133c47a0d83a6985c1 (patch)
treeb30cb7f9fdd42bd860c9ec6cab020b8658ac608d /opcodes/mips-dis.c
parentff7eeb894eb621be6933ce414508ed7eb38ea763 (diff)
downloadfsf-binutils-gdb-dd3cbb7ef767465408230e133c47a0d83a6985c1.zip
fsf-binutils-gdb-dd3cbb7ef767465408230e133c47a0d83a6985c1.tar.gz
fsf-binutils-gdb-dd3cbb7ef767465408230e133c47a0d83a6985c1.tar.bz2
* mips.h: Document new field descriptors +Q.
(OP_SH_SEQI, OP_MASK_SEQI): New bit mask and shift count for SEQI. opcodes/ * mips-dis.c (print_insn_args): Handle field descriptor +Q. * mips-opc.c (mips_builtin_opcodes): Add Octeon instructions seq, seqi, sne and snei. gas/ * config/tc-mips.c (validate_mips_insn): Handle field descriptor +Q. (mips_ip): Likewise. (macro_build): Likewise. (CPU_HAS_SEQ): New macro. (macro2) <M_SEQ_I, M_SNE_I>: Use it. Emit seq/sne and seqi/snei. gas/testsuite/ * gas/mips/octeon.s, gas/mips/octeon.d: Add tests for seq* and sne*. * gas/mips/octeon-ill.s, gas/mips/octeon-ill.s: Add tests for seqi and snei.
Diffstat (limited to 'opcodes/mips-dis.c')
-rw-r--r--opcodes/mips-dis.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
index 4202b7d..ada753f 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
@@ -902,6 +902,13 @@ print_insn_args (const char *d,
(l >> OP_SH_CINSLM1) & OP_MASK_CINSLM1);
break;
+ case 'Q': /* seqi/snei immediate field */
+ op = (l >> OP_SH_SEQI) & OP_MASK_SEQI;
+ /* Sign-extend it. */
+ op = (op ^ 512) - 512;
+ (*info->fprintf_func) (info->stream, "%d", op);
+ break;
+
default:
/* xgettext:c-format */
(*info->fprintf_func) (info->stream,