On 13 May 2014 21:56, Tom Musta <tommu...@gmail.com> wrote: > I am chasing a bug in ppc64-linux-user when hosted on PPC 64. > > I believe I have narrowed the problem to QEMU's emulation of an rlwimi > instruction > in ld64.so. The in/out asm and register dump are below. And so is the ppc > translation source. > > The inbound contents of r4 is 0x24. The expected value of r4 after "rlwimi > r4,r4,8,16,23" > is 0x2424 but is zero. What looks strange to me in the out_asm is the "lwz > r14,32(r27)" > instruction, which appears to be generated from the > "tcg_gen_trun_i64_i32(t2,cpu_gpr[rS(ctx->opcode)])" > statement. If it is going to load only 4 bytes, shouldn't it be at offset > 32+4 ?
Is the host big or little endian PPC? Offset 32 is right for little-endian... > I have not yet been able to connect the dots between the QEMU source and the > emitted (TCG) > code. Dumping the TCG opcodes would probably help here (-d op)... thanks -- PMM