qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] ppc "stfiwx" floating point missing implementation


From: Tom Marn
Subject: Re: [Qemu-devel] ppc "stfiwx" floating point missing implementation
Date: Fri, 29 Sep 2006 11:49:54 +0200
User-agent: Thunderbird 1.5.0.2 (X11/20060516)

Tom Marn wrote:

Here is my modified translate.c (still broken code)

Re-sending previous malformed patch (I hope this one will be formated ok).



--- target-ppc/translate.c.orig 2006-09-29 09:29:28.000000000 +0200
+++ target-ppc/translate.c  2006-09-29 09:39:17.000000000 +0200
@@ -1715,21 +1715,30 @@
GEN_STFS(fs, 0x14);

/* Optional: */
/* stfiwx */
GEN_HANDLER(stfiwx, 0x1F, 0x17, 0x1E, 0x00000001, PPC_FLOAT)
{
    if (!ctx->fpu_enabled) {
        RET_EXCP(ctx, EXCP_NO_FP, 0);
        return;
    }
-    RET_INVAL(ctx);
+
+ if (rA(ctx->opcode) == 0) { + gen_op_load_gpr_T0(rB(ctx->opcode)); + } else { + gen_op_load_gpr_T0(rA(ctx->opcode));
+        gen_op_load_gpr_T1(rB(ctx->opcode));
+        gen_op_add();
+ } + gen_op_load_fpr_FT1(rS(ctx->opcode));
+    op_ldst(stfs);
}

/***                                Branch                                 ***/

static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
{
    TranslationBlock *tb;
tb = ctx->tb; if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
        if (n == 0)




reply via email to

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