diff options
Diffstat (limited to 'media/ffvpx/libavutil/x86/x86util.asm')
-rw-r--r-- | media/ffvpx/libavutil/x86/x86util.asm | 50 |
1 files changed, 16 insertions, 34 deletions
diff --git a/media/ffvpx/libavutil/x86/x86util.asm b/media/ffvpx/libavutil/x86/x86util.asm index d7cd99684..e1220dfc1 100644 --- a/media/ffvpx/libavutil/x86/x86util.asm +++ b/media/ffvpx/libavutil/x86/x86util.asm @@ -357,7 +357,7 @@ %endif %endmacro -%macro ABSB 2 ; source mmreg, temp mmreg (unused for SSSE3) +%macro ABSB 2 ; source mmreg, temp mmreg (unused for ssse3) %if cpuflag(ssse3) pabsb %1, %1 %else @@ -381,7 +381,7 @@ %endif %endmacro -%macro ABSD2 4 +%macro ABSD2_MMX 4 pxor %3, %3 pxor %4, %4 pcmpgtd %3, %1 @@ -475,7 +475,7 @@ %else palignr %1, %2, %3 %endif -%else ; [dst,] src1, src2, imm, tmp +%elif cpuflag(mmx) ; [dst,] src1, src2, imm, tmp %define %%dst %1 %if %0==5 %ifnidn %1, %2 @@ -799,47 +799,37 @@ pminsw %1, %3 %endmacro -%macro PMINSD 3 ; dst, src, tmp/unused -%if cpuflag(sse4) - pminsd %1, %2 -%elif cpuflag(sse2) - cvtdq2ps %1, %1 - minps %1, %2 - cvtps2dq %1, %1 -%else +%macro PMINSD_MMX 3 ; dst, src, tmp mova %3, %2 pcmpgtd %3, %1 pxor %1, %2 pand %1, %3 pxor %1, %2 -%endif %endmacro -%macro PMAXSD 3 ; dst, src, tmp/unused -%if cpuflag(sse4) - pmaxsd %1, %2 -%else +%macro PMAXSD_MMX 3 ; dst, src, tmp mova %3, %1 pcmpgtd %3, %2 pand %1, %3 pandn %3, %2 por %1, %3 -%endif %endmacro -%macro CLIPD 3-4 -%if cpuflag(sse4); src/dst, min, max, unused - pminsd %1, %3 - pmaxsd %1, %2 -%elif cpuflag(sse2) ; src/dst, min (float), max (float), unused +%macro CLIPD_MMX 3-4 ; src/dst, min, max, tmp + PMINSD_MMX %1, %3, %4 + PMAXSD_MMX %1, %2, %4 +%endmacro + +%macro CLIPD_SSE2 3-4 ; src/dst, min (float), max (float), unused cvtdq2ps %1, %1 minps %1, %3 maxps %1, %2 cvtps2dq %1, %1 -%else ; src/dst, min, max, tmp - PMINSD %1, %3, %4 - PMAXSD %1, %2, %4 -%endif +%endmacro + +%macro CLIPD_SSE41 3-4 ; src/dst, min, max, unused + pminsd %1, %3 + pmaxsd %1, %2 %endmacro %macro VBROADCASTSS 2 ; dst xmm/ymm, src m32/xmm @@ -890,14 +880,6 @@ %endif %endmacro -%macro VBROADCASTI128 2 ; dst xmm/ymm, src : 128bits val -%if mmsize > 16 - vbroadcasti128 %1, %2 -%else - mova %1, %2 -%endif -%endmacro - %macro SHUFFLE_MASK_W 8 %rep 8 %if %1>=0x80 |