On 2016-01-01 20:34:28 +0200, Martin Storsjö wrote:
> On Thu, 31 Dec 2015, Martin Storsjö wrote:
> 
> >On Thu, 31 Dec 2015, Janne Grunau wrote:
> >
> >>On 2015-12-31 12:46:39 +0200, Martin Storsjö wrote:
> >>>---
> >>>Compared to x264's checkasm, this is slightly simpler since it only
> >>>is expected to return void, i.e. no issues with handling of 64 bit return
> >>>values vs function pointer type casting. (The assembly wrapper still tries
> >>>to maintain the return value intact though, even though it's currently
> >>>not used.) It also is simplified since it doesn't use separate parameter
> >>>for indicating failures (avoiding one extra register to backup, and
> >>>reducing the number of parameters to shift by from 2 to 1).
> >>
> >>I think that is actually a disadvantage because it breaks type which are
> >>naturally aligned to 8-byte. Those are assigned register pairs starting
> >>with an even register or 8-byte aligned stack address. If we shift only
> >>one register, that rule is broken so we need a second dummy register.
> >
> >Hmm, ok, will try to fix.
> 
> To clarify - so you're suggesting I should add a second dummy
> parameter to the arm version of checkasm_checked_call, and shift by
> two parameters, just as in x264?

Yes. As far as I can see that would avoid problems with 64-bit types.

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to