From c0efbca4a368289fc4a8cc9a050668d06c07a46d Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 12 Apr 2001 14:53:20 +0000 Subject: [PATCH] * mips.igen (CFC1, CTC1): Pass the correct register numbers to PENDING_FILL. Use PENDING_SCHED directly to handle the pending set of the FCSR. * sim-main.h (COCIDX): Remove definition; this isn't supported by PENDING_FILL, and you can get the intended effect gracefully by calling PENDING_SCHED directly. --- sim/mips/ChangeLog | 9 +++++++++ sim/mips/mips.igen | 6 +++--- sim/mips/sim-main.h | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 3ff893a9f26..f03884a4f7b 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,12 @@ +2001-04-12 Jim Blandy + + * mips.igen (CFC1, CTC1): Pass the correct register numbers to + PENDING_FILL. Use PENDING_SCHED directly to handle the pending + set of the FCSR. + * sim-main.h (COCIDX): Remove definition; this isn't supported by + PENDING_FILL, and you can get the intended effect gracefully by + calling PENDING_SCHED directly. + 2001-02-23 Ben Elliston * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Only define if not diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index f8263f4d065..03f783a2be2 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -2839,11 +2839,11 @@ if (X) { if (FS == 0) - PENDING_FILL((FS + FCR0IDX),VL4_8(GPR[RT])); + PENDING_FILL(FCR0IDX,VL4_8(GPR[RT])); else if (FS == 31) - PENDING_FILL((FS + FCR31IDX),VL4_8(GPR[RT])); + PENDING_FILL(FCR31IDX,VL4_8(GPR[RT])); /* else NOP */ - PENDING_FILL(COCIDX,0); /* special case */ + PENDING_SCHED(FCSR, FCR31 & (1<<23), 1, 23); } else { /* control from */ diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h index 3ccd4a92d24..8a1b7f76703 100644 --- a/sim/mips/sim-main.h +++ b/sim/mips/sim-main.h @@ -405,7 +405,6 @@ enum float_operation #define Debug (REGISTERS[86]) #define DEPC (REGISTERS[87]) #define EPC (REGISTERS[88]) -#define COCIDX (LAST_EMBED_REGNUM + 2) /* special case : outside the normal range */ /* All internal state modified by signal_exception() that may need to be rolled back for passing moment-of-exception image back to gdb. */ -- 2.30.2