qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 1/9] target-alpha: Forget installed round mode af


From: Richard Henderson
Subject: [Qemu-devel] [PATCH v2 1/9] target-alpha: Forget installed round mode after MT_FPCR
Date: Thu, 3 Jul 2014 13:28:59 -0700

When we use QUAL_RM_D, we copy fpcr_dyn_round to float_status.
When we install a new FPCR value, we update fpcr_dyn_round.
Reset the status of the cache so that we re-copy for the next
fp insn that requires dynamic rounding.

Signed-off-by: Richard Henderson <address@hidden>
---
 target-alpha/translate.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target-alpha/translate.c b/target-alpha/translate.c
index cc81e77..0bd903c 100644
--- a/target-alpha/translate.c
+++ b/target-alpha/translate.c
@@ -2196,6 +2196,11 @@ static ExitStatus translate_one(DisasContext *ctx, 
uint32_t insn)
             /* MT_FPCR */
             va = load_fpr(ctx, ra);
             gen_helper_store_fpcr(cpu_env, va);
+            if (ctx->tb_rm == QUAL_RM_D) {
+                /* Re-do the copy of the rounding mode to fp_status
+                   the next time we use dynamic rounding.  */
+                ctx->tb_rm = -1;
+            }
             break;
         case 0x025:
             /* MF_FPCR */
-- 
1.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]