diff --git a/libavcodec/x86/fpel.asm b/libavcodec/x86/fpel.asm index 8551ff1ff3..477caa8b44 100644 --- a/libavcodec/x86/fpel.asm +++ b/libavcodec/x86/fpel.asm @@ -31,33 +31,27 @@ SECTION .text %if %2 == mmsize/2 %define LOAD movh %define SAVE movh -%define LEN mmsize %else %define LOAD movu %define SAVE mova -%define LEN %2 %endif cglobal %1_pixels%2, 4,5,4 lea r4, [r2*3] .loop: -%assign %%i 0 -%rep LEN/mmsize - LOAD m0, [r1 + %%i] - LOAD m1, [r1+r2 + %%i] - LOAD m2, [r1+r2*2 + %%i] - LOAD m3, [r1+r4 + %%i] + LOAD m0, [r1] + LOAD m1, [r1+r2] + LOAD m2, [r1+r2*2] + LOAD m3, [r1+r4] %ifidn %1, avg - pavgb m0, [r0 + %%i] - pavgb m1, [r0+r2 + %%i] - pavgb m2, [r0+r2*2 + %%i] - pavgb m3, [r0+r4 + %%i] + pavgb m0, [r0] + pavgb m1, [r0+r2] + pavgb m2, [r0+r2*2] + pavgb m3, [r0+r4] %endif - SAVE [r0 + %%i], m0 - SAVE [r0+r2 + %%i], m1 - SAVE [r0+r2*2 + %%i], m2 - SAVE [r0+r4 + %%i], m3 -%assign %%i %%i+mmsize -%endrep + SAVE [r0], m0 + SAVE [r0+r2], m1 + SAVE [r0+r2*2], m2 + SAVE [r0+r4], m3 sub r3d, 4 lea r1, [r1+r2*4] lea r0, [r0+r2*4]