lavu/atomic: add support for the new memory model aware gcc built-ins
authorJames Almer <jamrial@gmail.com>
Tue, 28 Oct 2014 01:48:08 +0000 (22:48 -0300)
committerJames Almer <jamrial@gmail.com>
Wed, 29 Oct 2014 17:09:58 +0000 (14:09 -0300)
commitfaa9d2982969c999ab0e443a226eff116f7f8e4b
treeb0b06cfff37c8d773202dfde877201e0129cf3cd
parent931da6a5e9dd54563fe5d4d30b7bd4d0a0218c87
lavu/atomic: add support for the new memory model aware gcc built-ins

__sync built-ins are considered legacy and will be deprecated.
These new memory model aware built-ins have been available since GCC 4.7.0

Use them by default when available except for __atomic_compare_exchange_n(),
which is slower, and is instead implemented as a fallback for when and if gcc
removes the legacy __sync built-ins.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
configure
libavutil/atomic_gcc.h