Message ID | 20180512004311.9299-16-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | softfloat patch roundup | expand |
On 12 May 2018 at 01:42, Richard Henderson <richard.henderson@linaro.org> wrote: > From: Peter Maydell <peter.maydell@linaro.org> > > In commit d81ce0ef2c4f105 we added an extra float_status field > fp_status_fp16 for Arm, but forgot to initialize it correctly > by setting it to float_tininess_before_rounding. This currently > will only cause problems for the new V8_FP16 feature, since the > float-to-float conversion code doesn't use it yet. The effect > would be that we failed to set the Underflow IEEE exception flag > in all the cases where we should. > > Add the missing initialization. > > Fixes: d81ce0ef2c4f105 > Cc: qemu-stable@nongnu.org > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> NB that there are reviewed-by: tags from you and Alex that need to be added to this commit message. Thanks for fixing up the subject line for me. thanks -- PMM
diff --git a/target/arm/cpu.c b/target/arm/cpu.c index d175c5e94f..7939c6b8ae 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -324,6 +324,8 @@ static void arm_cpu_reset(CPUState *s) &env->vfp.fp_status); set_float_detect_tininess(float_tininess_before_rounding, &env->vfp.standard_fp_status); + set_float_detect_tininess(float_tininess_before_rounding, + &env->vfp.fp_status_f16); #ifndef CONFIG_USER_ONLY if (kvm_enabled()) { kvm_arm_reset_vcpu(cpu);