qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [HelenOS-devel] [sparc64] Miscomputed minimum of a grou


From: Artyom Tarasenko
Subject: Re: [Qemu-devel] [HelenOS-devel] [sparc64] Miscomputed minimum of a group of numbers in sparc64 emulation
Date: Fri, 1 Jul 2011 17:08:27 +0200

On Fri, Jul 1, 2011 at 4:28 PM, Jakub Jermar <address@hidden> wrote:
> On 1.7.2011 16:24, Laurent Desnogues wrote:
>> On Fri, Jul 1, 2011 at 4:11 PM, Jakub Jermar <address@hidden> wrote:
>> [...]
>>> Actually, the testcase can be further reduced into:
>>>
>>> .global _start
>>>
>>> .text
>>>
>>> .space 0x20
>>>
>>> _start:
>>>        set 110393, %i1
>>>        set 0x40, %i2
>>>
>>>        cmp  %i1, %i2
>>>        udivx  %g0, 1, %g0
>>>        movgu  %xcc, %i2, %i1
>>>        cmp  %i1, 512
>>>        bgu  %xcc, 0f
>>>        nop
>>>
>>> succ:
>>>        ta 0
>>>
>>> fail:
>>> 0:
>>>        ta 1
>>>
>>> The presence of the `udivx` instruction seems to be essential. Even
>>> though it has no effect on the computation, removing it will make the
>>> testcase non-reproducible.
>>
>> Could you try to replace udivx with sdivx?  It looks wrong too.
>
> Yeah, `sdivx` behaves the same wrt. the testcase.

Don't need to. Will send a qemu patch tonight. Great job! Once more,
thanks a lot!


-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/



reply via email to

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