summaryrefslogtreecommitdiff
path: root/libavutil/arm/intmath.h
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-08-07 17:43:29 +0100
committerMans Rullgard <mans@mansr.com>2012-08-07 21:13:30 +0100
commitec9d2c15c17ada4ebb5c8ca335a71a1f330dcaf9 (patch)
tree1ba65f9a25e479e3fa389cd09c3b3340fd2dde96 /libavutil/arm/intmath.h
parent4ab26cb4cc9af2ab2199105aa273aa23e1f27911 (diff)
ARM: use Q/R inline asm operand modifiers only if supported
Some compilers do not support the Q/R modifiers used to access the low/high parts of a 64-bit register pair. Check for this and disable all uses of it when not supported. Fixes bug #337. Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavutil/arm/intmath.h')
-rw-r--r--libavutil/arm/intmath.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavutil/arm/intmath.h b/libavutil/arm/intmath.h
index b6a45c1395..fa31ecf6a5 100644
--- a/libavutil/arm/intmath.h
+++ b/libavutil/arm/intmath.h
@@ -97,6 +97,8 @@ static av_always_inline av_const int FASTDIV(int a, int b)
#endif /* HAVE_ARMV6 */
+#if HAVE_ASM_MOD_Q
+
#define av_clipl_int32 av_clipl_int32_arm
static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a)
{
@@ -110,6 +112,8 @@ static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a)
return x;
}
+#endif /* HAVE_ASM_MOD_Q */
+
#endif /* HAVE_INLINE_ASM */
#endif /* AVUTIL_ARM_INTMATH_H */