21 |
; * along with this program; if not, write to the Free Software |
; * along with this program; if not, write to the Free Software |
22 |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
; * |
; * |
24 |
; * $Id: sad_xmm.asm,v 1.11 2008-08-19 09:06:48 Isibaar Exp $ |
; * $Id: sad_xmm.asm,v 1.12 2008-11-11 20:46:24 Isibaar Exp $ |
25 |
; * |
; * |
26 |
; ***************************************************************************/ |
; ***************************************************************************/ |
27 |
|
|
32 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
33 |
global _%1:function %1.endfunc-%1 |
global _%1:function %1.endfunc-%1 |
34 |
%define %1 _%1:function %1.endfunc-%1 |
%define %1 _%1:function %1.endfunc-%1 |
35 |
|
%define ENDFUNC .endfunc |
36 |
%else |
%else |
37 |
global _%1 |
global _%1 |
38 |
%define %1 _%1 |
%define %1 _%1 |
39 |
|
%define ENDFUNC |
40 |
%endif |
%endif |
41 |
%else |
%else |
42 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
43 |
global %1:function %1.endfunc-%1 |
global %1:function %1.endfunc-%1 |
44 |
|
%define ENDFUNC .endfunc |
45 |
%else |
%else |
46 |
global %1 |
global %1 |
47 |
|
%define ENDFUNC |
48 |
%endif |
%endif |
49 |
%endif |
%endif |
50 |
%endmacro |
%endmacro |
193 |
paddusw mm6,mm5 |
paddusw mm6,mm5 |
194 |
movd eax, mm6 |
movd eax, mm6 |
195 |
ret |
ret |
196 |
.endfunc |
ENDFUNC |
197 |
|
|
198 |
|
|
199 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
234 |
movd eax, mm6 |
movd eax, mm6 |
235 |
|
|
236 |
ret |
ret |
237 |
.endfunc |
ENDFUNC |
238 |
|
|
239 |
|
|
240 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
279 |
movd eax, mm6 |
movd eax, mm6 |
280 |
pop ebx |
pop ebx |
281 |
ret |
ret |
282 |
.endfunc |
ENDFUNC |
283 |
|
|
284 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
285 |
; |
; |
300 |
|
|
301 |
pxor mm5, mm5 ; accum1 |
pxor mm5, mm5 ; accum1 |
302 |
pxor mm6, mm6 ; accum2 |
pxor mm6, mm6 ; accum2 |
303 |
.Loop |
.Loop: |
304 |
SADBI_8x8_XMM |
SADBI_8x8_XMM |
305 |
SADBI_8x8_XMM |
SADBI_8x8_XMM |
306 |
SADBI_8x8_XMM |
SADBI_8x8_XMM |
310 |
movd eax, mm6 |
movd eax, mm6 |
311 |
pop ebx |
pop ebx |
312 |
ret |
ret |
313 |
.endfunc |
ENDFUNC |
314 |
|
|
315 |
|
|
316 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
391 |
|
|
392 |
movd eax, mm6 |
movd eax, mm6 |
393 |
ret |
ret |
394 |
.endfunc |
ENDFUNC |
395 |
|
|
396 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
397 |
;int sad16v_xmm(const uint8_t * const cur, |
;int sad16v_xmm(const uint8_t * const cur, |
446 |
movd eax, mm7 |
movd eax, mm7 |
447 |
pop ebx |
pop ebx |
448 |
ret |
ret |
449 |
.endfunc |
ENDFUNC |
450 |
|
|
451 |
|
|
452 |
%ifidn __OUTPUT_FORMAT__,elf |
%ifidn __OUTPUT_FORMAT__,elf |