summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2009-04-18 13:57:30 +0000
committerMåns Rullgård <mans@mansr.com>2009-04-18 13:57:30 +0000
commitcc078b5d8f79a05f9475290323e0ea63ba7563d6 (patch)
tree46c50587e17ae636dcc4ac2c9fbb6ed834fb820e
parenta208350c3c11dc71cfd1abb6d430eb705bf25303 (diff)
PPC: check for x-form asm constraint support
Originally committed as revision 18606 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure2
-rw-r--r--libavutil/ppc/intreadwrite.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/configure b/configure
index 1480515a1b..876a19bb0f 100755
--- a/configure
+++ b/configure
@@ -924,6 +924,7 @@ HAVE_LIST="
truncf
VirtualAlloc
winsock2_h
+ xform_asm
yasm
"
@@ -1908,6 +1909,7 @@ fi
enabled ppc && check_asm dcbzl '"dcbzl 0, 1"'
enabled ppc && check_asm ppc4xx '"maclhw r10, r11, r12"'
+enabled ppc && check_asm xform_asm '"lwzx 0, %y0" :: "Z"(*(int*)0)'
# check for SIMD availability
diff --git a/libavutil/ppc/intreadwrite.h b/libavutil/ppc/intreadwrite.h
index f9898172c5..7bc2b2d4b3 100644
--- a/libavutil/ppc/intreadwrite.h
+++ b/libavutil/ppc/intreadwrite.h
@@ -24,6 +24,8 @@
#include <stdint.h>
#include "config.h"
+#if HAVE_XFORM_ASM
+
#define AV_RL16 AV_RL16
static inline uint16_t AV_RL16(const void *p)
{
@@ -93,6 +95,8 @@ static inline void AV_WL64(void *p, uint64_t v)
#endif /* HAVE_LDBRX */
+#endif /* HAVE_XFORM_ASM */
+
/*
* GCC fails miserably on the packed struct version which is used by
* default, so we override it here.