[FFmpeg-devel] [PATCH 0/4] fftw exploration (WIP)

James Almer jamrial at gmail.com
Fri Mar 25 21:35:46 CET 2016

On 3/25/2016 4:55 PM, Ganesh Ajjanagadde wrote:
> If anyone cares here, I do not know why we can't use inline asm or
> intrinsics

With Inline asm and intrinsics you're 100% dependent on the compiler
doing the right thing. The latter more so than the former.
So a function compiled with gcc 4.9 might be faster or slower than the
same function compiled with gcc 5.3, or msvc 2102, 2013, 2015, or icc,
or clang, or even ancient gcc toolchains that somehow keep being used.

Hand written asm guarantees the functions will perform exactly the same
and as optimally as the developer can write it regardless of compiler,
with the latter only handling things until the relevant function calls.

Inline asm and intrinsics are only acceptable for simple functionality
(single instructions or such) that actually make sense being inlined,
like intmath and intreadwrite functions in libavutil.

More information about the ffmpeg-devel mailing list