On 1.7.2011 14:57, Jakub Jermar wrote:
> On 1.7.2011 12:41, Artyom Tarasenko wrote:
>> Looks like it's a pretty nice test case.
>>
>> The test case scenario is to load the initial values into the
>> registers (you already know them),
>> calculate the mins, cmp the result with expected and jump somewhere.
>> Since it happens with interrupts disabled, we don't need an OS or bios
>> to test that. The binary just has to have an entry point at 0x20,
>> then we can load it instead of bios.
>>
>> Care to produce the test case? (Otherwise I'll do it, but probably not
>> until the weekend after the next one).
> 
> Yes I have a small reproducible testcase, see the attachments.

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.

Jakub

Reply via email to