2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4 ; Use of this source code is governed by a BSD-style license
5 ; that can be found in the LICENSE file in the root of the source
6 ; tree. An additional intellectual property rights grant can be found
7 ; in the file PATENTS. All contributing project authors may
8 ; be found in the AUTHORS file in the root of the source tree.
12 %include "vpx_ports/x86_abi_support.asm"
14 ;int vp8_block_error_xmm(short *coeff_ptr, short *dcoef_ptr)
15 global sym
(vp8_block_error_xmm
)
16 sym
(vp8_block_error_xmm
):
19 SHADOW_ARGS_TO_STACK
2
24 mov rsi
, arg
(0) ;coeff_ptr
25 mov rdi
, arg
(1) ;dcoef_ptr
62 ;int vp8_block_error_mmx(short *coeff_ptr, short *dcoef_ptr)
63 global sym
(vp8_block_error_mmx
)
64 sym
(vp8_block_error_mmx
):
67 SHADOW_ARGS_TO_STACK
2
73 mov rsi
, arg
(0) ;coeff_ptr
76 mov rdi
, arg
(1) ;dcoef_ptr
83 pxor mm1
, mm1
; from movd mm1, dc ; dc =0
128 ;int vp8_mbblock_error_mmx_impl(short *coeff_ptr, short *dcoef_ptr, int dc);
129 global sym
(vp8_mbblock_error_mmx_impl
)
130 sym
(vp8_mbblock_error_mmx_impl
):
133 SHADOW_ARGS_TO_STACK
3
139 mov rsi
, arg
(0) ;coeff_ptr
142 mov rdi
, arg
(1) ;dcoef_ptr
145 movd mm1
, dword ptr arg
(2) ;dc
205 ;int vp8_mbblock_error_xmm_impl(short *coeff_ptr, short *dcoef_ptr, int dc);
206 global sym
(vp8_mbblock_error_xmm_impl
)
207 sym
(vp8_mbblock_error_xmm_impl
):
210 SHADOW_ARGS_TO_STACK
3
217 mov rsi
, arg
(0) ;coeff_ptr
220 mov rdi
, arg
(1) ;dcoef_ptr
223 movd xmm5
, dword ptr arg
(2) ;dc
233 movdqa xmm2
, [rsi
+16]
234 movdqa xmm3
, [rdi
+16]
275 ;int vp8_mbuverror_mmx_impl(short *s_ptr, short *d_ptr);
276 global sym
(vp8_mbuverror_mmx_impl
)
277 sym
(vp8_mbuverror_mmx_impl
):
280 SHADOW_ARGS_TO_STACK
2
286 mov rsi
, arg
(0) ;s_ptr
287 mov rdi
, arg
(1) ;d_ptr
316 jnz mbuverror_loop_mmx
332 ;int vp8_mbuverror_xmm_impl(short *s_ptr, short *d_ptr);
333 global sym
(vp8_mbuverror_xmm_impl
)
334 sym
(vp8_mbuverror_xmm_impl
):
337 SHADOW_ARGS_TO_STACK
2
343 mov rsi
, arg
(0) ;s_ptr
344 mov rdi
, arg
(1) ;d_ptr