[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 3/8] target-ppc: Bug Fix: rlwimi
From: |
Tom Musta |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 3/8] target-ppc: Bug Fix: rlwimi |
Date: |
Mon, 18 Aug 2014 14:51:01 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
On 8/15/2014 3:05 PM, Richard Henderson wrote:
> On 08/11/2014 09:23 AM, Tom Musta wrote:
>> Also fix the special case of MB=31 and ME=0 to copy the entire contents
>> of the source GPR.
>
> Err, that's not what you did.
>
>> if (likely(sh == 0 && mb == 0 && me == 31)) {
>> +#if defined(TARGET_PPC64)
>> + tcg_gen_mov_i64(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rS(ctx->opcode)]);
>> +#else
>> tcg_gen_ext32u_tl(cpu_gpr[rA(ctx->opcode)],
>> cpu_gpr[rS(ctx->opcode)]);
>> +#endif
>
> This is the reverse condition. Which, true enough, should not be implemented
> with ext32u for PPC64. But a MOV isn't right either, it is
>
> deposit(ra, rs, 0, 32)
>
> Which does point out that we should probably implement anything MB <= ME and
> SH
> == 31 - ME with the deposit opcode.
>
>
> r~
>
Richard:
Good catch. I found a bug in my test generator ... rlwimi is unusual in that
the
"RA" register is both a source and a target. A fix is forthcoming.
Thanks also for your other comments. Unlike this one, I believe they are
optimizations.
I will investigate and potentially publish some additional changes. Alex has
already
taken this series into his ppc-next, so the new patches will be relative to
these.
- [Qemu-ppc] [PATCH 0/8] target-ppc: Bug Fixes for 64 Bit FXU Instructions, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 1/8] target-ppc: Bug Fix: rlwinm, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 2/8] target-ppc: Bug Fix: rlwnm, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 3/8] target-ppc: Bug Fix: rlwimi, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 4/8] target-ppc: Bug Fix: mullw, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 5/8] target-ppc: Bug Fix: mullwo, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 6/8] target-ppc: Bug Fix: mulldo OV Detection, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 7/8] target-ppc: Bug Fix: srawi, Tom Musta, 2014/08/11
- [Qemu-ppc] [PATCH 8/8] target-ppc: Bug Fix: srad, Tom Musta, 2014/08/11
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 0/8] target-ppc: Bug Fixes for 64 Bit FXU Instructions, David Gibson, 2014/08/11