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
26 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
216 mov rsi
, arg
(0) ;coeff_ptr
219 mov rdi
, arg
(1) ;dcoef_ptr
222 movd xmm1
, dword ptr arg
(2) ;dc
232 movdqa xmm5
, [rsi
+16]
233 movdqa xmm6
, [rdi
+16]
273 ;int vp8_mbuverror_mmx_impl(short *s_ptr, short *d_ptr);
274 global sym
(vp8_mbuverror_mmx_impl
)
275 sym
(vp8_mbuverror_mmx_impl
):
278 SHADOW_ARGS_TO_STACK
2
284 mov rsi
, arg
(0) ;s_ptr
285 mov rdi
, arg
(1) ;d_ptr
314 jnz mbuverror_loop_mmx
330 ;int vp8_mbuverror_xmm_impl(short *s_ptr, short *d_ptr);
331 global sym
(vp8_mbuverror_xmm_impl
)
332 sym
(vp8_mbuverror_xmm_impl
):
335 SHADOW_ARGS_TO_STACK
2
341 mov rsi
, arg
(0) ;s_ptr
342 mov rdi
, arg
(1) ;d_ptr