# HG changeset patch # User michael # Date 1194833041 0 # Node ID f75ee7ea171bc9f31eb8dd6863f8120407bc866d # Parent a7bd76d9cd092922d163fd78642b3fc1d8b6069a tring to workaround gcc 2.95 bug which causes random failures diff -r a7bd76d9cd09 -r f75ee7ea171b i386/dsputil_mmx.c --- a/i386/dsputil_mmx.c Sat Nov 10 18:27:03 2007 +0000 +++ b/i386/dsputil_mmx.c Mon Nov 12 02:04:01 2007 +0000 @@ -1534,10 +1534,11 @@ "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)