qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Revert "target-sparc: Make cpu_dst local to OP=


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] Revert "target-sparc: Make cpu_dst local to OP=2 insns"
Date: Sun, 21 Oct 2012 01:17:57 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Sun, Oct 21, 2012 at 08:48:52AM +1000, Richard Henderson wrote:
> On 2012-10-21 00:48, Aurelien Jarno wrote:
> > I am not sure it is the real problem, but at least the optimization of
> > using the destination register as a temporary is wrong when the
> > instruction might trigger an exception. In that case the result is
> > written to the destination register while it should have not.
> > 
> > This reverts commit 5793f2a47e201d251856c7956d6f7907ec0d9f1f.
> 
> Which insn might trigger an exception?  Most OP=2 insns don't.  There's
> divide, but that's done out-of-line, so the assignment to dst does not
> happen before the exception...

Indeed there a are a few one triggering exception, but I looked too
quickly and indeed they do the assignment before. There should be
another problem elsewhere as reverting this patch fixes the issue.

> Is this sparc64?  I assume so, since I did test sparc32...
> 

Yes it's with a sparc64 kernel. I can reproduce the problem with both a 
32 and 64-bit userland, though it happens earlier with a 32-bit
userland.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

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