comparison x86/vp8dsp.asm @ 12413:e6e4059ea421 libavcodec

Mark xmm registers as clobbered in simple loopfilter. Should fix the last two VP8-related fate failures on Win64.
author rbultje
date Tue, 24 Aug 2010 16:52:27 +0000
parents 4f13b2ded34d
children 2982071047a2
comparison
equal deleted inserted replaced
12412:b31e6ace12f6 12413:e6e4059ea421
1468 %macro SPLATB_REG_SSSE3 3 1468 %macro SPLATB_REG_SSSE3 3
1469 movd %1, %2 1469 movd %1, %2
1470 pshufb %1, %3 1470 pshufb %1, %3
1471 %endmacro 1471 %endmacro
1472 1472
1473 %macro SIMPLE_LOOPFILTER 3 1473 %macro SIMPLE_LOOPFILTER 4
1474 cglobal vp8_%2_loop_filter_simple_%1, 3, %3 1474 cglobal vp8_%2_loop_filter_simple_%1, 3, %3, %4
1475 %if mmsize == 8 ; mmx/mmxext 1475 %if mmsize == 8 ; mmx/mmxext
1476 mov r3, 2 1476 mov r3, 2
1477 %endif 1477 %endif
1478 %ifnidn %1, sse2 1478 %ifnidn %1, sse2
1479 %if mmsize == 16 1479 %if mmsize == 16
1610 %endif 1610 %endif
1611 %endmacro 1611 %endmacro
1612 1612
1613 INIT_MMX 1613 INIT_MMX
1614 %define SPLATB_REG SPLATB_REG_MMX 1614 %define SPLATB_REG SPLATB_REG_MMX
1615 SIMPLE_LOOPFILTER mmx, v, 4 1615 SIMPLE_LOOPFILTER mmx, v, 4, 0
1616 SIMPLE_LOOPFILTER mmx, h, 5 1616 SIMPLE_LOOPFILTER mmx, h, 5, 0
1617 %define SPLATB_REG SPLATB_REG_MMXEXT 1617 %define SPLATB_REG SPLATB_REG_MMXEXT
1618 SIMPLE_LOOPFILTER mmxext, v, 4 1618 SIMPLE_LOOPFILTER mmxext, v, 4, 0
1619 SIMPLE_LOOPFILTER mmxext, h, 5 1619 SIMPLE_LOOPFILTER mmxext, h, 5, 0
1620 INIT_XMM 1620 INIT_XMM
1621 %define SPLATB_REG SPLATB_REG_SSE2 1621 %define SPLATB_REG SPLATB_REG_SSE2
1622 %define WRITE_8W WRITE_8W_SSE2 1622 %define WRITE_8W WRITE_8W_SSE2
1623 SIMPLE_LOOPFILTER sse2, v, 3 1623 SIMPLE_LOOPFILTER sse2, v, 3, 8
1624 SIMPLE_LOOPFILTER sse2, h, 5 1624 SIMPLE_LOOPFILTER sse2, h, 5, 8
1625 %define SPLATB_REG SPLATB_REG_SSSE3 1625 %define SPLATB_REG SPLATB_REG_SSSE3
1626 SIMPLE_LOOPFILTER ssse3, v, 3 1626 SIMPLE_LOOPFILTER ssse3, v, 3, 8
1627 SIMPLE_LOOPFILTER ssse3, h, 5 1627 SIMPLE_LOOPFILTER ssse3, h, 5, 8
1628 %define WRITE_8W WRITE_8W_SSE4 1628 %define WRITE_8W WRITE_8W_SSE4
1629 SIMPLE_LOOPFILTER sse4, h, 5 1629 SIMPLE_LOOPFILTER sse4, h, 5, 8
1630 1630
1631 ;----------------------------------------------------------------------------- 1631 ;-----------------------------------------------------------------------------
1632 ; void vp8_h/v_loop_filter<size>_inner_<opt>(uint8_t *dst, [uint8_t *v,] int stride, 1632 ; void vp8_h/v_loop_filter<size>_inner_<opt>(uint8_t *dst, [uint8_t *v,] int stride,
1633 ; int flimE, int flimI, int hev_thr); 1633 ; int flimE, int flimI, int hev_thr);
1634 ;----------------------------------------------------------------------------- 1634 ;-----------------------------------------------------------------------------