mirror of https://gitee.com/openkylin/qemu.git
target-mips: silence NaNs for cvt.s.d and cvt.d.s
cvt.s.d and cvt.d.s are FP operations and thus need to convert input sNaN into corresponding qNaN. Explicitely use the floatXX_maybe_silence_nan functions for that as the floatXX_to_floatXX functions do not do that. Cc: Leon Alrae <leon.alrae@imgtec.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Leon Alrae <leon.alrae@imgtec.com> Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
This commit is contained in:
parent
889912999d
commit
1aa56f6ee7
|
@ -2545,6 +2545,7 @@ uint64_t helper_float_cvtd_s(CPUMIPSState *env, uint32_t fst0)
|
|||
uint64_t fdt2;
|
||||
|
||||
fdt2 = float32_to_float64(fst0, &env->active_fpu.fp_status);
|
||||
fdt2 = float64_maybe_silence_nan(fdt2);
|
||||
update_fcr31(env, GETPC());
|
||||
return fdt2;
|
||||
}
|
||||
|
@ -2634,6 +2635,7 @@ uint32_t helper_float_cvts_d(CPUMIPSState *env, uint64_t fdt0)
|
|||
uint32_t fst2;
|
||||
|
||||
fst2 = float64_to_float32(fdt0, &env->active_fpu.fp_status);
|
||||
fst2 = float32_maybe_silence_nan(fst2);
|
||||
update_fcr31(env, GETPC());
|
||||
return fst2;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue