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

Re: [MiNT] Missing clobbered register in gemlib



On Sat, Dec 19, 2009 at 10:56 AM, Henk Robbers <h.robbers@chello.nl> wrote:
> Roger Burrows wrote:
>
>>
>> I think it would be a good idea to make the clobber list A0-A2, D0-D2.
>>
>
> It is really a must. I speak from nose hurting experience.
>
> --
> Groeten; Regards.
> Henk Robbers.

no fun :)

So I presume:

> In gemlib/gem_aesP.h:
> static inline void
> _aes_trap (AESPB * aespb)
> {
>       __asm__ volatile (
>               "move.l %0,d1\n\t"      /* &aespb */
>               "move.w #200,d0\n\t"
>               "trap   #2"
>               :
>               : "a"(aespb)
>               : "d0","d1","d2","a0","a1","a2","memory" /* <--- Clobber List here */
>       );
> }
>

and any respective changes to:
> similar stuff in gemlib/gem_vdiP.h:
> _vdi_trap_esc
> _vdi_trap_00

and that a patch can be commited

do any other clobber lists need to be checked also? (the above is AES,
and 2x VDI, yes?)

Paul