Message ID | 20190921043256.4575-3-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/alpha: Fix linux-user exception for CVTTQ | expand |
Richard Henderson <richard.henderson@linaro.org> writes: > We were setting the wrong bit. The fp_status.flush_to_zero > setting is overwritten ".. in the generated code.."? > by either the constant 1 or the value > of fpcr_flush_to_zero depending on bits within an fp insn. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > target/alpha/helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/alpha/helper.c b/target/alpha/helper.c > index 6c1703682e..10602fb339 100644 > --- a/target/alpha/helper.c > +++ b/target/alpha/helper.c > @@ -71,7 +71,7 @@ void cpu_alpha_store_fpcr(CPUAlphaState *env, uint64_t val) > env->fp_status.flush_inputs_to_zero = 1; > } > if (env->swcr & SWCR_MAP_UMZ) { > - env->fp_status.flush_to_zero = 1; > + env->fpcr_flush_to_zero = 1; > } > env->fpcr_exc_enable &= ~(alpha_ieee_swcr_to_fpcr(env->swcr) >> 32); > #endif -- Alex Bennée
diff --git a/target/alpha/helper.c b/target/alpha/helper.c index 6c1703682e..10602fb339 100644 --- a/target/alpha/helper.c +++ b/target/alpha/helper.c @@ -71,7 +71,7 @@ void cpu_alpha_store_fpcr(CPUAlphaState *env, uint64_t val) env->fp_status.flush_inputs_to_zero = 1; } if (env->swcr & SWCR_MAP_UMZ) { - env->fp_status.flush_to_zero = 1; + env->fpcr_flush_to_zero = 1; } env->fpcr_exc_enable &= ~(alpha_ieee_swcr_to_fpcr(env->swcr) >> 32); #endif
We were setting the wrong bit. The fp_status.flush_to_zero setting is overwritten by either the constant 1 or the value of fpcr_flush_to_zero depending on bits within an fp insn. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/alpha/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.17.1