diff options
author | Maciej W. Rozycki | 2014-12-02 18:02:38 +0100 |
---|---|---|
committer | Leon Alrae | 2014-12-16 13:45:20 +0100 |
commit | bb962386b82c1b0e9e12fdb6b9bb62106bf1f822 (patch) | |
tree | 3eeb6545f0a1f96fd22a448b14978a080e08d9b1 /target-mips/op_helper.c | |
parent | linux-user: Use the 5KEf processor for 64-bit emulation (diff) | |
download | qemu-bb962386b82c1b0e9e12fdb6b9bb62106bf1f822.tar.gz qemu-bb962386b82c1b0e9e12fdb6b9bb62106bf1f822.tar.xz qemu-bb962386b82c1b0e9e12fdb6b9bb62106bf1f822.zip |
target-mips: Add missing calls to synchronise SoftFloat status
Add missing calls to synchronise the SoftFloat status with the CP1.FSCR:
+ for the rounding and flush-to-zero modes upon processor reset,
+ for the flush-to-zero mode on FSCR updates through the GDB stub.
Refactor code accordingly and remove the redundant RESTORE_ROUNDING_MODE
macro.
Signed-off-by: Thomas Schwinge <thomas@codesourcery.com>
Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
Reviewed-by: Leon Alrae <leon.alrae@imgtec.com>
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Diffstat (limited to 'target-mips/op_helper.c')
-rw-r--r-- | target-mips/op_helper.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index 7e632f6875..d619ba4785 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -2280,18 +2280,6 @@ unsigned int ieee_rm[] = { float_round_down }; -static inline void restore_rounding_mode(CPUMIPSState *env) -{ - set_float_rounding_mode(ieee_rm[env->active_fpu.fcr31 & 3], - &env->active_fpu.fp_status); -} - -static inline void restore_flush_mode(CPUMIPSState *env) -{ - set_flush_to_zero((env->active_fpu.fcr31 & (1 << 24)) != 0, - &env->active_fpu.fp_status); -} - target_ulong helper_cfc1(CPUMIPSState *env, uint32_t reg) { target_ulong arg1 = 0; |