qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] tcg problem running SPARC program on x86


From: Blue Swirl
Subject: Re: [Qemu-devel] tcg problem running SPARC program on x86
Date: Sat, 23 Aug 2008 09:43:32 +0300

On 8/19/08, Blue Swirl <address@hidden> wrote:
> On 8/18/08, Vince Weaver <address@hidden> wrote:
>  > Hello
>  >
>  >  I'm continuing on my quest to get the SPEC2000 benchmarks running under
>  > sparc32-linux-user (so far 8 out of 48 work).
>  >
>  >  Many of the benchmarks die early on with the following error:
>  >
>  >     /fusion/research4/vince/qemu/svn/tcg/tcg.c:1455: tcg
>  > fatal error
>  >
>  >  This error is caused when tcg_reg_alloc_mov() is called but ts->val_type
>  >  is equal to 0 (which is TEMP_VAL_DEAD). So maybe the optimizer is
>  > optimizing away something that it shouldn't?
>  >
>  >  This happens in a block with multiple calls to the SPARC "mulscc"
>  >  instruction which is a complicated instruction, so maybe this is finding 
> an
>  > obscure corner case.
>  >
>  >  I've attached a very small sample program that exhibits the bug when run
>  > with ./sparc32-linux-user/qemu-sparc32plus
>
>
> Okay, I can finally reproduce this. Strangely it does not occur if -d
>  flag is used and "op" is one of the log items. I have to check if
>  older reports where I could not reproduce the bug were suffering from
>  the same problem.
>
>  But I haven't found any fix yet.

I have isolated the problem to andi op. The attached patch makes the
bug go away by disabling the offending andi, but it's of course not a
real fix. Why andi fails with op flag enabled, I have no idea.

Attachment: fix_mulscc.diff
Description: plain/text


reply via email to

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