* config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
Recognize -GN and -relax.
(md_begin): Initialize gp size from -G switch.
(alpha_force_relocation): Always force if -relax.
(alpha_align): Take a new argument that will specify when to
emit an R_ALPHA_ALIGN relocation (though we don't do that now).
Change all callers. Emit nop alignment padding as nop+unop pair.
Frank Ch. Eigler [Fri, 27 Feb 1998 21:52:40 +0000 (21:52 +0000)]
* Major endianness fixes on sky code today. The milestone sample and existing
PKE tests run identically on SPARC/Solaris and x86/Linux.
* sky-pke.c (pke_io_{read,write}_buffer): Endianness fixes aka
"E-fixes" in register and FIFO read/writes.
(pke_code_{pkemscalf,pkemscal}): E-fixes in VU CIA setting.
(pke_code_{mpg,unpack}): E-fixes in VU memory & tracking updates.
(pke_code_direct): E-fixes in GPUIF FIFO stuffing.
* sky-pke.h (PKE_MEM_WRITE): E-fixes in trace file writing.
* sky-vu0.c (vu0_attach): Allocate micro/data memory with zalloc
to guarantee sufficient (16-byte) alignment.
* sky-vu1.c (vu1_attach): Ditto.
(vu1_io_read_register_window): *PARTIAL* E-fixes in register accesses.
* sky-libvpe.c (gif_write): E-fixes in GPUIF FIFO stuffing.
* sky-gpuif.c (gif_io_{read,write}_buffer): E-fixes in
register and FIFO read/writes.
* sky-dma.c (do_dma_transfer_tag): E-fixes in tag reading.
Jeff Law [Fri, 27 Feb 1998 20:15:50 +0000 (20:15 +0000)]
* mips-opc.c (r5900/madd.s): Takes three operands, not four. Fix
opcode.
(r5900/min.s): Incorrect opcode ....,101001 not ...110000.
(r5900/msub.s): Takes three operands, not four. Fix opcode.
Doug Evans [Wed, 25 Feb 1998 19:54:59 +0000 (19:54 +0000)]
* config/tc-m32r.c (optimize): New static local.
(md_shortopts): Add -O.
(md_parse_option): Recognize it.
(md_show_usage): Document it.
(md_assemble): Don't try to combine insns in parallel if !optimize.
Frank Ch. Eigler [Wed, 25 Feb 1998 19:34:06 +0000 (19:34 +0000)]
* PKE unit testing continuing. Confusion over PKE1 double-buffering
mechanism is starting to subside.
* sky-pke.h (PKE_FLAG_INT_NOLOOP): Added device flag to indicate
presence of stalled & interrupted PKEcode.
* sky-pke.c (pke_issue): Added PKEcode interrupt bit handling.
(pke_flip_dbf): Changed double-buffering logic to match SCEI
clarification.
(pke_code_*): Added interrupt bit stalling clause.
(pke_code_pkems*): Added ITOP/ITOPS transmission code.
(pke_code_unpack): Added more careful logic for processing
overflows of VU data memory addresses.
Jeff Law [Wed, 25 Feb 1998 08:58:23 +0000 (08:58 +0000)]
* simops.c (signed multiply instructions): Cast input operands to
signed32 before casting them to signed64 so that the sign bit
is propagated properly.
Doug Evans [Wed, 25 Feb 1998 08:34:41 +0000 (08:34 +0000)]
* dvp-dis.c (print_insn): Handle word number.
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.
Doug Evans [Wed, 25 Feb 1998 08:25:11 +0000 (08:25 +0000)]
* genmloop.sh (engine_resume): Update insn_count before exiting.
(engine_resume_full): Keep accurate core profile data.
* cgen-utils.c (sim_disassemble_insn): Don't use
sim_core_read_aligned_N, it messes up profiling results.
Frank Ch. Eigler [Wed, 25 Feb 1998 01:08:47 +0000 (01:08 +0000)]
* Added test bucket directory for sky tests, which may be run in conjunction
with the mips64r5900 tests. It's all meant to be sanitized out without
"keep-sky".
Doug Evans [Tue, 24 Feb 1998 20:57:58 +0000 (20:57 +0000)]
* arm-dis.c (print_insn_{big,little}_arm): info->symbol changed
to *info->symbols.
* mips-dis.c (print_insn_{big,little}_mips): Likewise.
* tic30-dis.c (print_branch): Likewise.
start-sanitize-sky
* mips-dis.c (print_insn_little_mips): Call dvp_info_mach_type.
* dvp-dis.c (dvp_info_mach_type): New function.
(print_insn_dvp): Call it.
(print_vif): Return length of 4 if mpg or direct insn so following
insns get properly disabled.
* dvp-opc.c (vif_insn_len): New argument `pcpu'. All callers updated.
end-sanitize-sky
Doug Evans [Tue, 24 Feb 1998 20:40:41 +0000 (20:40 +0000)]
(create_colon_label): New argument `sto'. All callers updated.
(record_mach): New argument `force_next_p'. All callers updated.
(cpu_sto): New function.
Jason Molenda [Tue, 24 Feb 1998 19:25:44 +0000 (19:25 +0000)]
Change from rth.
* Makefile.in (BISON): Don't even pretend to use yacc.
(c-exp.tab.o): Use bison -o to use a unique intermediate file.
(jv-exp.tab.o, f-exp.tab.o, m2-exp.tab.o): Likewise.
Mark Alexander [Tue, 24 Feb 1998 05:07:11 +0000 (05:07 +0000)]
* Makefile.in: Last change was bad. Define NL_TARGET
so that targ-vals.h will be used instead of syscall.h.
* simops.c: Use targ-vals.h instead of syscall.h.
(OP_F020): Disable unsupported system calls.
Frank Ch. Eigler [Tue, 24 Feb 1998 02:10:23 +0000 (02:10 +0000)]
* PKE sim unit testing continuing. Starting to run milestone sample.
* sky-pke.h (PKE_MEM_READ): Removed "read" entry from FIFO trace.
* sky-pke.c (pke_attach): Set trace file to line buffering iff
open.
(pke_io_read_buffer, pke_io_write_buffer): Handle erroneous
reads/writes by zero-padding.
(pke_io_write_buffer): Switch to more bit-field definition macros.
(pke_issue): Remove "stalled" entry from FIFO trace.
(pke_pc_advance): Correct logic for DMA-tag-skipping, PKEcode
classification.
(pke_code_mskpath3): Sketch of possible PATH3 masking method.
(pke_code_mpg): Keep order of lower/upper VU words as supplied.
(pke_code_unpack): Logic change for wl/cl/num unpacking. Weird.
Doug Evans [Tue, 24 Feb 1998 00:00:18 +0000 (00:00 +0000)]
* config/tc-dvp.c (assemble_dma): Do alignment before parsing insn.
(setup_dma_autocount): Renamed from setup_autocount. New argument
inline_p. All callers changed. Fix word address of count.
(parse_dma_addr_autocount): Fix word address of address.