aboutsummaryrefslogtreecommitdiff
path: root/sim/mips/interp.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-04-21 01:17:58 +0000
committerAndrew Cagney <cagney@redhat.com>1998-04-21 01:17:58 +0000
commit421cbaae983d05c663270534b65e4fe9dc415dae (patch)
tree42d92712f3f57b0b165aeeabc7d82d4d061ac6ff /sim/mips/interp.c
parent98f5dae13b105229af113f761ffe8b4dbf3f428d (diff)
downloadgdb-421cbaae983d05c663270534b65e4fe9dc415dae.zip
gdb-421cbaae983d05c663270534b65e4fe9dc415dae.tar.gz
gdb-421cbaae983d05c663270534b65e4fe9dc415dae.tar.bz2
For new IGEN simulators, rewrite checks validating correct use of the
HI/LO registers. For old gencode simulator, delete all checks.
Diffstat (limited to 'sim/mips/interp.c')
-rw-r--r--sim/mips/interp.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 8f45da9..612b73b 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -3300,8 +3300,8 @@ decode_coproc (SIM_DESC sd,
read_vu_vec_reg(&(vu0_device.regs), id, 1, A4_16(& xyzw, 2));
read_vu_vec_reg(&(vu0_device.regs), id, 2, A4_16(& xyzw, 1));
read_vu_vec_reg(&(vu0_device.regs), id, 3, A4_16(& xyzw, 0));
- xyzw = T2H_16(xyzw);
- memcpy(& GPR[rt], & xyzw, sizeof(xyzw));
+ GPR[rt] = T2H_8(* A8_16(& xyzw, 1));
+ GPR1[rt] = T2H_8(* A8_16(& xyzw, 0));
}
else /* CFC2 */
{
@@ -3334,8 +3334,8 @@ decode_coproc (SIM_DESC sd,
/* perform VU register address */
if(i_25_21 == 0x05) /* QMTC2 */
{
- unsigned_16 xyzw;
- memcpy(& xyzw, & GPR[rt], sizeof(xyzw));
+ unsigned_16 xyzw = U16_8(GPR1[rt], GPR[rt]);
+
xyzw = H2T_16(xyzw);
/* one word at a time, argh! */
write_vu_vec_reg(&(vu0_device.regs), id, 0, A4_16(& xyzw, 3));
@@ -3624,20 +3624,6 @@ sim_engine_run (sd, next_cpu_nr, nr_cpus, siggnal)
#error "Mismatch between configure WITH_FLOATING_POINT and gencode HASFPU"
#endif
-#if defined(WARN_LOHI)
- /* Decrement the HI/LO validity ticks */
- if (HIACCESS > 0)
- HIACCESS--;
- if (LOACCESS > 0)
- LOACCESS--;
- /* start-sanitize-r5900 */
- if (HI1ACCESS > 0)
- HI1ACCESS--;
- if (LO1ACCESS > 0)
- LO1ACCESS--;
- /* end-sanitize-r5900 */
-#endif /* WARN_LOHI */
-
/* For certain MIPS architectures, GPR[0] is hardwired to zero. We
should check for it being changed. It is better doing it here,
than within the simulator, since it will help keep the simulator