Re-enables the GCC-4 fix for AMD-64 only. Patch by cartman and poirierg
authorGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 12 Jul 2005 19:16:04 +0000 (19:16 +0000)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 12 Jul 2005 19:16:04 +0000 (19:16 +0000)
Originally committed as revision 15973 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc

postproc/swscale_template.c

index c91e9cd5fad3758a24512bd8ce8e052706bcb2b7..1a68deecc7b4db1fb8a679c8ea313da020c97992 100644 (file)
@@ -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"
                );