summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-05-02 15:09:54 +0100
committerMans Rullgard <mans@mansr.com>2012-05-02 17:26:39 +0100
commitababec7b95d84e911ecda6056e8b8c90287a6e7a (patch)
tree09f54966bb62793477323f3b89fa1e42b7ee8d84
parentadebad07e084af91cad1b162d89c86c9e08e0a31 (diff)
arm: intreadwrite: disable inline asm for gcc 4.7 and later
Starting with version 4.7, gcc properly supports unaligned memory accesses on ARM. Not using the inline asm with these compilers results in better code. Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--libavutil/arm/intreadwrite.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavutil/arm/intreadwrite.h b/libavutil/arm/intreadwrite.h
index ec92d4d04b..86b93c940c 100644
--- a/libavutil/arm/intreadwrite.h
+++ b/libavutil/arm/intreadwrite.h
@@ -21,8 +21,9 @@
#include <stdint.h>
#include "config.h"
+#include "libavutil/attributes.h"
-#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM
+#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM && !AV_GCC_VERSION_AT_LEAST(4,7)
#define AV_RN16 AV_RN16
static av_always_inline unsigned AV_RN16(const void *p)