| Index: source/libvpx/vp8/encoder/x86/ssim_opt.asm
|
| ===================================================================
|
| --- source/libvpx/vp8/encoder/x86/ssim_opt.asm (revision 96967)
|
| +++ source/libvpx/vp8/encoder/x86/ssim_opt.asm (working copy)
|
| @@ -16,12 +16,12 @@
|
| paddusw xmm14, xmm4 ; sum_r
|
| movdqa xmm1, xmm3
|
| pmaddwd xmm1, xmm1
|
| - paddq xmm13, xmm1 ; sum_sq_s
|
| + paddd xmm13, xmm1 ; sum_sq_s
|
| movdqa xmm2, xmm4
|
| pmaddwd xmm2, xmm2
|
| - paddq xmm12, xmm2 ; sum_sq_r
|
| + paddd xmm12, xmm2 ; sum_sq_r
|
| pmaddwd xmm3, xmm4
|
| - paddq xmm11, xmm3 ; sum_sxr
|
| + paddd xmm11, xmm3 ; sum_sxr
|
| %endmacro
|
|
|
| ; Sum across the register %1 starting with q words
|
| @@ -66,6 +66,7 @@
|
| push rbp
|
| mov rbp, rsp
|
| SHADOW_ARGS_TO_STACK 9
|
| + SAVE_XMM 15
|
| push rsi
|
| push rdi
|
| ; end prolog
|
| @@ -115,19 +116,20 @@
|
| SUM_ACROSS_Q xmm11
|
|
|
| mov rdi,arg(4)
|
| - movq [rdi], xmm15;
|
| + movd [rdi], xmm15;
|
| mov rdi,arg(5)
|
| - movq [rdi], xmm14;
|
| + movd [rdi], xmm14;
|
| mov rdi,arg(6)
|
| - movq [rdi], xmm13;
|
| + movd [rdi], xmm13;
|
| mov rdi,arg(7)
|
| - movq [rdi], xmm12;
|
| + movd [rdi], xmm12;
|
| mov rdi,arg(8)
|
| - movq [rdi], xmm11;
|
| + movd [rdi], xmm11;
|
|
|
| ; begin epilog
|
| pop rdi
|
| pop rsi
|
| + RESTORE_XMM
|
| UNSHADOW_ARGS
|
| pop rbp
|
| ret
|
| @@ -154,6 +156,7 @@
|
| push rbp
|
| mov rbp, rsp
|
| SHADOW_ARGS_TO_STACK 9
|
| + SAVE_XMM 15
|
| push rsi
|
| push rdi
|
| ; end prolog
|
| @@ -174,11 +177,8 @@
|
| NextRow2:
|
|
|
| ;grab source and reference pixels
|
| - movq xmm5, [rsi]
|
| - movq xmm6, [rdi]
|
| -
|
| - movdqa xmm3, xmm5
|
| - movdqa xmm4, xmm6
|
| + movq xmm3, [rsi]
|
| + movq xmm4, [rdi]
|
| punpcklbw xmm3, xmm0 ; low_s
|
| punpcklbw xmm4, xmm0 ; low_r
|
|
|
| @@ -197,19 +197,20 @@
|
| SUM_ACROSS_Q xmm11
|
|
|
| mov rdi,arg(4)
|
| - movq [rdi], xmm15;
|
| + movd [rdi], xmm15;
|
| mov rdi,arg(5)
|
| - movq [rdi], xmm14;
|
| + movd [rdi], xmm14;
|
| mov rdi,arg(6)
|
| - movq [rdi], xmm13;
|
| + movd [rdi], xmm13;
|
| mov rdi,arg(7)
|
| - movq [rdi], xmm12;
|
| + movd [rdi], xmm12;
|
| mov rdi,arg(8)
|
| - movq [rdi], xmm11;
|
| + movd [rdi], xmm11;
|
|
|
| ; begin epilog
|
| pop rdi
|
| pop rsi
|
| + RESTORE_XMM
|
| UNSHADOW_ARGS
|
| pop rbp
|
| ret
|
|
|