From 1124a4a7a7d51fc9778d031c6b6c81c40a96c2a2 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 18 May 1998 17:46:34 +0000 Subject: [PATCH] * mips-dis.c (print_insn_arg): Handle ';' opcode completer. (_print_insn_mips): Likewise. * vu0.h (vopmula, vopmsub): Correctly handle opcode/operand completers. --- opcodes/ChangeLog | 9 +++++++++ opcodes/mips-dis.c | 21 +++++++++++++++++---- opcodes/vu0.h | 4 ++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3e17bf6..02bfd2a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -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 * cgen-opc.c (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup. diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c index 424567d..1541cfd 100644 --- a/opcodes/mips-dis.c +++ b/opcodes/mips-dis.c @@ -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++) diff --git a/opcodes/vu0.h b/opcodes/vu0.h index 67e2136..4635412 100644 --- a/opcodes/vu0.h +++ b/opcodes/vu0.h @@ -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}, -- 2.7.4