now correctly disassemble during runs under the sky VU0 simulator.
[ChangeLog]
Mon Apr 13 16:02:02 1998 Frank Ch. Eigler <fche@cygnus.com>
* vu0.h: Corrected bit pattern for VMAXI opcode.
(dvp_expand_macro): Implement.
(insert_vif_datalen): Record value with max+1 -> 0 conversion.
(vif_unpack_len): Perform 0 -> max+1 conversion on `wl' value.
* ns32k-dis.c (bit_extract_simple): New function to extract bits
from an arbitrary valid buffer instead of fetching them on demand
using fetch_data().
(invalid_float): use bit_extract_simple() instead of bit_extract().
contributed to me for gdb 4.17.
* dvp-opc.c (parse_vif_mpgloc): Renamed from parse_vif_mpgloc_star.
Don't skip over '*', just record it.
(insert_vif_mpgloc): Don't update state_vif_mpgloc if '*' value.
(parse_vif_unpackloc): Renamed from parse_vif_unpackloc_star.
Don't skip over '*', just record it.
(insert_vif_unpackloc): Don't update state_vif_unpackloc if '*' value.
(vif_operands): Delete VIF_MPGLOC_STAR,VIF_UNPACKLOC_STAR entries.
(vif_opcodes): Likewise.
(state_vif_{mpg,unpack}loc_star_p): New static locals.
(vif_macros,vif_macro_count): New globals.
(vif_unpack_len_value): New arguments wl,cl. All callers updated.
(vif_set_{mpg,unpack}loc): Delete. All callers updated.
(vif_get_wl_cl): New function.
(dvp_opcode_init_parse): Init mpgloc,unpackloc state.
* i960-dis.c (pinsn): Change type of first argument to bfd_vma.
(ctrl, cobr, mem, ea): Likewise.
(print_addr): Likewise. Remove cast.
(ea): Cast argument of print_addr to bfd_vma.
* cgen-asm.c (cgen_parse_signed_integer): Fix type of local
variable value.
(cgen_parse_unsigned_integer): Likewise.
(cgen_parse_address): Likewise.
Wed Mar 25 14:31:31 1998 Ian Lance Taylor <ian@cygnus.com>
* i960-dis.c (ctrl): Add full braces to structure initialization.
(cobr, mem, reg): Likewise.
(ea): Correct parenthesization in expression.
* cgen-asm.c: Include <ctype.h>.
(build_asm_hash_table): Remove unused local variable i.
(cgen_parse_keyword): Add casts to avoid warnings.
* arm-dis.c (print_insn_big_arm): Only call coffsymbol for a COFF
symbol. Fix indentation.
(print_insn_little_arm): Likewise.
* mips-opc.c: Include vu0.h.
* mips-dis.c (print_insn_arg): Handle new args 0-9, +, -, %, K, &,
J, Q, X, and U.
(print_insn_mips): Do not emit a tab after an instruction if the
first arg is an instruction completer (&). If the next arg is an
escape character (%), then print the next arg verbatim.
* Makefile.am (mips-opc.lo): Depend on vu0.h
* dvp-opc.c (insert_vif_wlcl,extract_vif_wlcl): New functions.
(vif_operands): Use them for wl,cl fields.
(state_vif_wl,state_vif_cl): New static locals.
(parse_vif_mode): Handle numeric args.
(vif_unpack_len_value,vif_unpack_len): New functions.
(vif_insn_len): Call vif_unpack_len.
(print_insn): Do mask comparison on proper opcode word.
* dvp-opc.c (u_parse_sdest): Return -1 if dest missing.
(parse_bc): Catch missing dest.
(parse_vfreg): Replace atoi call with strtol.
(parse_{bcftreg,ffstreg,freg,ireg,vi01,gif_prim,gif_nloop}): Likewise.
(parse_bcftreg,parse_ffstreg): Handle missing dest.
(extract_gif_eop): New function.
(gif_operands): Update eop entry.
(VGIFOP,VGIFNREGS): Fix calcs.
(extract_gif_prim): Set *pinvalid to 1 if prim not used.
(gif_regs): Add entry for unused 11 case.
(print_gif_regs): Print empty list instead of nothing.
(extract_gif_nloop): Fix value calc.
(print_gif_nloop): Always print value, even if 0.
Handle mips address vs vu address.
* dvp-opc.c (vif_operands): Use DVP_OPERAND_VU_ADDRESS.
(dma_operands): Use DVP_OPERAND_MIPS_ADDRESS.
({insert,extract}_dma_addr): Fix word ofset.
({insert,print}_gif_regs): Fix encode/decode.