Skip to content
Snippets Groups Projects
Commit 220daa00 authored by Jim Bankoski's avatar Jim Bankoski Committed by John Koleszar
Browse files

vp8_block_error_xmm: remove unnecessary instructions

Remove a couple instructions from this function which weren't
necessary for correct execution.

Change-Id: Ib649674f140689f7e5c1530c35686241688a3151
parent 9484bf7f
No related branches found
No related tags found
No related merge requests found
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
%include "vpx_ports/x86_abi_support.asm" %include "vpx_ports/x86_abi_support.asm"
;int vp8_block_error_xmm(short *coeff_ptr, short *dcoef_ptr) ;int vp8_block_error_xmm(short *coeff_ptr, short *dcoef_ptr)
global sym(vp8_block_error_xmm) global sym(vp8_block_error_xmm)
sym(vp8_block_error_xmm): sym(vp8_block_error_xmm):
...@@ -20,11 +19,9 @@ sym(vp8_block_error_xmm): ...@@ -20,11 +19,9 @@ sym(vp8_block_error_xmm):
SHADOW_ARGS_TO_STACK 2 SHADOW_ARGS_TO_STACK 2
push rsi push rsi
push rdi push rdi
; end prolog ; end prologue
mov rsi, arg(0) ;coeff_ptr mov rsi, arg(0) ;coeff_ptr
pxor xmm7, xmm7
mov rdi, arg(1) ;dcoef_ptr mov rdi, arg(1) ;dcoef_ptr
movdqa xmm3, [rsi] movdqa xmm3, [rsi]
...@@ -33,31 +30,25 @@ sym(vp8_block_error_xmm): ...@@ -33,31 +30,25 @@ sym(vp8_block_error_xmm):
movdqa xmm5, [rsi+16] movdqa xmm5, [rsi+16]
movdqa xmm6, [rdi+16] movdqa xmm6, [rdi+16]
pxor xmm1, xmm1 ; from movd xmm1, dc; dc=0 psubw xmm3, xmm4
movdqa xmm2, xmm7
psubw xmm5, xmm6 psubw xmm5, xmm6
pmaddwd xmm3, xmm3
por xmm1, xmm2
pmaddwd xmm5, xmm5 pmaddwd xmm5, xmm5
pcmpeqw xmm1, xmm7 paddd xmm3, xmm5
psubw xmm3, xmm4
pand xmm1, xmm3 pxor xmm7, xmm7
pmaddwd xmm1, xmm1 movdqa xmm0, xmm3
paddd xmm1, xmm5
movdqa xmm0, xmm1
punpckldq xmm0, xmm7 punpckldq xmm0, xmm7
punpckhdq xmm1, xmm7 punpckhdq xmm3, xmm7
paddd xmm0, xmm1 paddd xmm0, xmm3
movdqa xmm1, xmm0 movdqa xmm3, xmm0
psrldq xmm0, 8 psrldq xmm0, 8
paddd xmm0, xmm1 paddd xmm0, xmm3
movd rax, xmm0 movd rax, xmm0
...@@ -68,7 +59,6 @@ sym(vp8_block_error_xmm): ...@@ -68,7 +59,6 @@ sym(vp8_block_error_xmm):
pop rbp pop rbp
ret ret
;int vp8_block_error_mmx(short *coeff_ptr, short *dcoef_ptr) ;int vp8_block_error_mmx(short *coeff_ptr, short *dcoef_ptr)
global sym(vp8_block_error_mmx) global sym(vp8_block_error_mmx)
sym(vp8_block_error_mmx): sym(vp8_block_error_mmx):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment