* mips-dis.c (print_insn_arg): Handle ';' opcode completer.

(_print_insn_mips): Likewise.
        * vu0.h (vopmula, vopmsub): Correctly handle opcode/operand
        completers.
This commit is contained in:
Jeff Law 1998-05-18 17:46:34 +00:00
parent 496b3694af
commit 1124a4a7a7
3 changed files with 28 additions and 6 deletions

View File

@ -1,3 +1,12 @@
start-sanitize-r5900
Mon May 18 11:44:00 1998 Jeffrey A Law (law@cygnus.com)
* mips-dis.c (print_insn_arg): Handle ';' opcode completer.
(_print_insn_mips): Likewise.
* vu0.h (vopmula, vopmsub): Correctly handle opcode/operand
completers.
end-sanitize-r5900
Fri May 15 14:58:31 1998 Doug Evans <devans@seba.cygnus.com>
* cgen-opc.c (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.

View File

@ -1,5 +1,5 @@
/* Print mips instructions for GDB, the GNU debugger, or for objdump.
Copyright 1989, 91-97, 1998 Free Software Foundation, Inc.
Copyright (c) 1989, 91-97, 1998 Free Software Foundation, Inc.
Contributed by Nobuyuki Hikichi(hikichi@sra.co.jp).
This file is part of GDB, GAS, and the GNU binutils.
@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "sysdep.h"
#include "dis-asm.h"
#include "opcode/mips.h"
#include "opintl.h"
/* FIXME: These are needed to figure out if this is a mips16 symbol or
not. It would be better to think of a cleaner way to do this. */
@ -87,7 +88,7 @@ print_insn_arg (d, l, pc, info)
/* start-sanitize-r5900 */
case '+':
case '-':
/* end-santiize-r5900 */
/* end-sanitize-r5900 */
(*info->fprintf_func) (info->stream, "%c", *d);
break;
@ -167,6 +168,12 @@ print_insn_arg (d, l, pc, info)
(l >> OP_SH_CODE) & OP_MASK_CODE);
break;
case 'q':
(*info->fprintf_func) (info->stream, "0x%x",
(l >> OP_SH_CODE2) & OP_MASK_CODE2);
break;
case 'C':
(*info->fprintf_func) (info->stream, "0x%x",
(l >> OP_SH_COPZ) & OP_MASK_COPZ);
@ -241,6 +248,10 @@ print_insn_arg (d, l, pc, info)
case 'K':
break;
case ';':
(*info->fprintf_func) (info->stream, ".xyz\t");
break;
case '&':
(*info->fprintf_func) (info->stream, ".");
if (l & (1 << 21))
@ -351,8 +362,10 @@ print_insn_arg (d, l, pc, info)
/* end-sanitize-vr5400 */
default:
/* xgettext:c-format */
(*info->fprintf_func) (info->stream,
"# internal error, undefined modifier(%c)", *d);
_("# internal error, undefined modifier(%c)"),
*d);
break;
}
}
@ -549,7 +562,7 @@ _print_insn_mips (memaddr, word, info)
/* start-sanitize-r5900 */
/* If this is an opcode completer, then do not emit
a tab after the opcode. */
if (*d != '&')
if (*d != '&' && *d != ';')
/* end-sanitize-r5900 */
(*info->fprintf_func) (info->stream, "\t");
for (; *d != '\0'; d++)

View File

@ -130,8 +130,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
{"vmulay", "&UK,2K,1#y", 0x4a0001bd, 0xfe0007ff, 0, T5},
{"vmulaz", "&UK,2K,1#z", 0x4a0001be, 0xfe0007ff, 0, T5},
{"vnop","", 0x4a0002ff, 0xffffffff, 0, T5},
{"vopmula.xyz", "U,2,1", 0x4bc002fe, 0xffe007ff, 0, T5},
{"vopmsub.xyz", "3,2,1", 0x4bc0002e, 0xffe0003f, 0, T5},
{"vopmula", ";UK,2K,1K", 0x4bc002fe, 0xffe007ff, 0, T5},
{"vopmsub", ";3K,2K,1K", 0x4bc0002e, 0xffe0003f, 0, T5},
{"vrget", "1K,X", 0x4a20043d, 0xffe0ffff, 0, T5},
{"vrinit", "X,8", 0x4a00043e, 0xff9f07ff, 0, T5},
{"vrnext", "1K,X", 0x4a20043c, 0xffe0ffff, 0, T5},