summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Henderson2019-09-21 06:32:51 +0200
committerAlex Bennée2019-09-26 20:00:53 +0200
commit712e7c6112c0c7df719b943a0138785e02f383c1 (patch)
tree7774ba162bf94d597adae035671e5dc7dc396ec5
parenttarget/alpha: Use array for FPCR_DYN conversion (diff)
downloadqemu-712e7c6112c0c7df719b943a0138785e02f383c1.tar.gz
qemu-712e7c6112c0c7df719b943a0138785e02f383c1.tar.xz
qemu-712e7c6112c0c7df719b943a0138785e02f383c1.zip
target/alpha: Fix SWCR_MAP_UMZ
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> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20190921043256.4575-3-richard.henderson@linaro.org>
-rw-r--r--target/alpha/helper.c2
1 files changed, 1 insertions, 1 deletions
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