From cc078b5d8f79a05f9475290323e0ea63ba7563d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
Date: Sat, 18 Apr 2009 13:57:30 +0000
Subject: [PATCH] PPC: check for x-form asm constraint support

Originally committed as revision 18606 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 configure                    | 2 ++
 libavutil/ppc/intreadwrite.h | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/configure b/configure
index 1480515a1bf..876a19bb0f2 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 f9898172c56..7bc2b2d4b33 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.
-- 
GitLab