[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PPC] FPIMM macro and mtfsfi instruction
From: |
claude vittoria |
Subject: |
Re: [Qemu-devel] [PPC] FPIMM macro and mtfsfi instruction |
Date: |
Tue, 18 Dec 2007 09:49:40 +0100 (CET) |
Hi Jocelyn,
Thanks for the quickly answer, but I got a wrong result again.
The actual version of mtfsfi translate.c:l2048 does not seem update the good
flag.
The programmer environnement manual 32bits gives if Rc = 1 affected : copy of
FX,FEX,VX,OX flags of FPSCR into CR1 of CR. Here, I only see the update of
xer_so in CR.
Could you confirm my opinion ?
Regards,
Claude
/* mtfsfi */
GEN_HANDLER(mtfsfi, 0x3F, 0x06, 0x04, 0x006f0800, PPC_FLOAT)
{
[...]
if (unlikely(Rc(ctx->opcode) != 0)) {
gen_op_load_fpcc();
gen_op_set_Rc0();
}
[...]
}
On Mon, 2007-12-17 at 15:52 +0100, claude vittoria wrote:
> Hi everybody,
>
> I think that I get a wrong result with mtfsfi instruction.
>
> I think to get a solution, see below.
> Could you confirm my opinion ?
Seems there have been (once again) a confusion between IBM bit notation
(0 is MSB...) and standard one. You're right, FPIMM should be taken
using EXTRACT_HELPER(FPIMM, 12, 4);
Thanks for the report.
> translate.c
> l344:EXTRACT_HELPER(crbD, 21, 5);
> ...
> l375:EXTRACT_HELPER(FPIMM, 20, 4); <======FPIMM must be (FPIMM, 12, 4) or
> crbB >> 1 for mtfsfi; IMM is bits[16-19] of the instruction in PPC
> programming environnement 32bit (p8-135). IMM is not one bit before crbD.
> ...
[...]
--
Jocelyn Mayer <address@hidden>