On 10/09/2012 02:50 PM, David Gibson wrote:
On Tue, Oct 09, 2012 at 01:41:02PM +0200, Alexander Graf wrote:
On 09.10.2012, at 13:38, Alexander Graf wrote:
On 09.10.2012, at 06:17, David Gibson wrote:
[snip]
This will still break TCG for qemu-system-ppc64, no?
To be more precise:
agraf@lychee:/home/agraf/release/qemu> grep -R cpu_fpscr target-ppc
target-ppc/translate.c:static TCGv_i32 cpu_fpscr;
I did update the type of cpu_fpscr..
target-ppc/translate.c: cpu_fpscr = tcg_global_mem_new_i32(TCG_AREG0,
target-ppc/translate.c: tcg_gen_shri_i32(cpu_crf[crfD(ctx->opcode)],
cpu_fpscr, bfa);
target-ppc/translate.c: tcg_gen_andi_i32(cpu_fpscr, cpu_fpscr, ~(0xF<<
bfa));
target-ppc/translate.c: tcg_gen_extu_i32_i64(cpu_fpr[rD(ctx->opcode)],
cpu_fpscr);
target-ppc/translate.c: tcg_gen_shri_i32(cpu_crf[1], cpu_fpscr,
FPSCR_OX);
target-ppc/translate.c: tcg_gen_shri_i32(cpu_crf[1], cpu_fpscr,
FPSCR_OX);
target-ppc/translate.c: tcg_gen_shri_i32(cpu_crf[1], cpu_fpscr,
FPSCR_OX);
target-ppc/translate.c: tcg_gen_shri_i32(cpu_crf[1], cpu_fpscr,
FPSCR_OX);
All those functions assume cpu_fpscr is a TCGv32. They need to be
adjusted to work on tl instead.
But I didn't spot the type dependent calls. I figured type checking
would catch that sort of thing, but apparently not.
Type checking only happens with enable-tcg-debug :)
Alex