From: Michael Niedermayer Date: Mon, 12 Nov 2007 02:04:01 +0000 (+0000) Subject: tring to workaround gcc 2.95 bug which causes random failures X-Git-Tag: v0.5~6976 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=02d361919a0e53001c0ddc06ad1a828d6c6884d1;p=coroid%2Flibav_saccubus.git tring to workaround gcc 2.95 bug which causes random failures Originally committed as revision 11003 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c index 1ca13e74d..7a63d2562 100644 --- a/libavcodec/i386/dsputil_mmx.c +++ b/libavcodec/i386/dsputil_mmx.c @@ -1534,10 +1534,11 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, uint8_t *src1, uint8_t "mov"#m1" "#mm"0, %0 \n\t"\ DIFF_PIXELS_1(m0, mm##7, mm##0, (%1,%3,4), (%2,%3,4))\ "mov"#m1" %0, "#mm"0 \n\t"\ - : "=m"(temp), "+r"(p1b), "+r"(p2b)\ + : "+m"(temp), "+r"(p1b), "+r"(p2b)\ : "r"((long)stride), "r"((long)stride*3)\ );\ } + //the "+m"(temp) is needed as gcc 2.95 sometimes fails to compile "=m"(temp) #define DIFF_PIXELS_4x8(p1,p2,stride,temp) DIFF_PIXELS_8(d, q, %%mm, p1, p2, stride, temp) #define DIFF_PIXELS_8x8(p1,p2,stride,temp) DIFF_PIXELS_8(q, dqa, %%xmm, p1, p2, stride, temp)