summaryrefslogtreecommitdiffstats
path: root/postproc
diff options
context:
space:
mode:
authorgpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-07-12 19:16:04 +0000
committergpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-07-12 19:16:04 +0000
commit47be9aef90aab28ed4e1d758245815633a5d12d8 (patch)
tree8b27fddf45a3fda137100d57ff0ad9bf44feb624 /postproc
parent2a2a0395bf384a12899868a5a7dbcbf20bc8978e (diff)
downloadmpv-47be9aef90aab28ed4e1d758245815633a5d12d8.tar.bz2
mpv-47be9aef90aab28ed4e1d758245815633a5d12d8.tar.xz
Re-enables the GCC-4 fix for AMD-64 only. Patch by cartman and poirierg
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15973 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'postproc')
-rw-r--r--postproc/swscale_template.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c
index c91e9cd5fa..1a68deecc7 100644
--- a/postproc/swscale_template.c
+++ b/postproc/swscale_template.c
@@ -2547,7 +2547,13 @@ FUNNY_UV_CODE
"cmp %2, %%"REG_a" \n\t"
" jb 1b \n\t"
+/* GCC-3.3 makes MPlayer crash on IA-32 machines when using "g" operand here,
+ which is needed to support GCC-4.0 */
+#if defined(ARCH_X86_64) && ((__GNUC__ > 3) || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+ :: "m" (src1), "m" (dst), "g" ((long)dstWidth), "m" (xInc_shr16), "m" (xInc_mask),
+#else
:: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" (xInc_shr16), "m" (xInc_mask),
+#endif
"r" (src2)
: "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi"
);