Mercurial > libavcodec.hg
comparison i386/dsputil_mmx.c @ 5912:f75ee7ea171b libavcodec
tring to workaround gcc 2.95 bug which causes random failures
author | michael |
---|---|
date | Mon, 12 Nov 2007 02:04:01 +0000 |
parents | efa3c1f9259a |
children | 6ce8f15fc02b |
comparison
equal
deleted
inserted
replaced
5911:a7bd76d9cd09 | 5912:f75ee7ea171b |
---|---|
1532 DIFF_PIXELS_1(m0, mm##5, mm##7, (%1,%3,2), (%2,%3,2))\ | 1532 DIFF_PIXELS_1(m0, mm##5, mm##7, (%1,%3,2), (%2,%3,2))\ |
1533 DIFF_PIXELS_1(m0, mm##6, mm##7, (%1,%4), (%2,%4))\ | 1533 DIFF_PIXELS_1(m0, mm##6, mm##7, (%1,%4), (%2,%4))\ |
1534 "mov"#m1" "#mm"0, %0 \n\t"\ | 1534 "mov"#m1" "#mm"0, %0 \n\t"\ |
1535 DIFF_PIXELS_1(m0, mm##7, mm##0, (%1,%3,4), (%2,%3,4))\ | 1535 DIFF_PIXELS_1(m0, mm##7, mm##0, (%1,%3,4), (%2,%3,4))\ |
1536 "mov"#m1" %0, "#mm"0 \n\t"\ | 1536 "mov"#m1" %0, "#mm"0 \n\t"\ |
1537 : "=m"(temp), "+r"(p1b), "+r"(p2b)\ | 1537 : "+m"(temp), "+r"(p1b), "+r"(p2b)\ |
1538 : "r"((long)stride), "r"((long)stride*3)\ | 1538 : "r"((long)stride), "r"((long)stride*3)\ |
1539 );\ | 1539 );\ |
1540 } | 1540 } |
1541 //the "+m"(temp) is needed as gcc 2.95 sometimes fails to compile "=m"(temp) | |
1541 | 1542 |
1542 #define DIFF_PIXELS_4x8(p1,p2,stride,temp) DIFF_PIXELS_8(d, q, %%mm, p1, p2, stride, temp) | 1543 #define DIFF_PIXELS_4x8(p1,p2,stride,temp) DIFF_PIXELS_8(d, q, %%mm, p1, p2, stride, temp) |
1543 #define DIFF_PIXELS_8x8(p1,p2,stride,temp) DIFF_PIXELS_8(q, dqa, %%xmm, p1, p2, stride, temp) | 1544 #define DIFF_PIXELS_8x8(p1,p2,stride,temp) DIFF_PIXELS_8(q, dqa, %%xmm, p1, p2, stride, temp) |
1544 | 1545 |
1545 #ifdef ARCH_X86_64 | 1546 #ifdef ARCH_X86_64 |