libav inline assembly
michael.hope at linaro.org
Wed Mar 21 20:17:09 UTC 2012
On 22 March 2012 00:28, Mans Rullgard <mans.rullgard at linaro.org> wrote:
> On 20 March 2012 22:59, Michael Hope <michael.hope at linaro.org> wrote:
>> I've create a blueprint covering the basic functions in libav that are
>> implemented as inline assembly:
>> These are a mix of multiplies, clipping, byte swap, and unaligned
>> access. We do OK on half of them but at least byte swap and 32x32 ->
>> top half of 64 aren't as good as they could be.
> Some of those are OK in recent gcc versions but horrible in older ones.
> For example, the byte swap inline asm is only enabled for gcc older
> than 4.5. If you find any others where gcc has improved recently, let
> us know so we can make them conditional.
Yip, I saw AV_GCC_VERSION_AT_LEAST() in a few places. We'll check
each of the inline routines and report back.
More information about the linaro-toolchain