20 |
; * along with this program; if not, write to the Free Software |
; * along with this program; if not, write to the Free Software |
21 |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 |
; * |
; * |
23 |
; * $Id: sad_mmx.asm,v 1.18 2008-08-19 09:06:48 Isibaar Exp $ |
; * $Id: sad_mmx.asm,v 1.19 2008-11-11 20:46:24 Isibaar Exp $ |
24 |
; * |
; * |
25 |
; ***************************************************************************/ |
; ***************************************************************************/ |
26 |
|
|
31 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
32 |
global _%1:function %1.endfunc-%1 |
global _%1:function %1.endfunc-%1 |
33 |
%define %1 _%1:function %1.endfunc-%1 |
%define %1 _%1:function %1.endfunc-%1 |
34 |
|
%define ENDFUNC .endfunc |
35 |
%else |
%else |
36 |
global _%1 |
global _%1 |
37 |
%define %1 _%1 |
%define %1 _%1 |
38 |
|
%define ENDFUNC |
39 |
%endif |
%endif |
40 |
%else |
%else |
41 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
42 |
global %1:function %1.endfunc-%1 |
global %1:function %1.endfunc-%1 |
43 |
|
%define ENDFUNC .endfunc |
44 |
%else |
%else |
45 |
global %1 |
global %1 |
46 |
|
%define ENDFUNC |
47 |
%endif |
%endif |
48 |
%endif |
%endif |
49 |
%endmacro |
%endmacro |
326 |
movd eax, mm6 |
movd eax, mm6 |
327 |
|
|
328 |
ret |
ret |
329 |
.endfunc |
ENDFUNC |
330 |
|
|
331 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
332 |
; |
; |
359 |
movd eax, mm6 |
movd eax, mm6 |
360 |
|
|
361 |
ret |
ret |
362 |
.endfunc |
ENDFUNC |
363 |
|
|
364 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
365 |
; |
; |
450 |
pop ebx |
pop ebx |
451 |
|
|
452 |
ret |
ret |
453 |
.endfunc |
ENDFUNC |
454 |
|
|
455 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
456 |
; |
; |
471 |
|
|
472 |
pxor mm6, mm6 ; accum2 |
pxor mm6, mm6 ; accum2 |
473 |
pxor mm7, mm7 |
pxor mm7, mm7 |
474 |
.Loop |
.Loop: |
475 |
SADBI_16x16_MMX 0, 0 |
SADBI_16x16_MMX 0, 0 |
476 |
SADBI_16x16_MMX 8, 1 |
SADBI_16x16_MMX 8, 1 |
477 |
SADBI_16x16_MMX 0, 0 |
SADBI_16x16_MMX 0, 0 |
515 |
pop ebx |
pop ebx |
516 |
|
|
517 |
ret |
ret |
518 |
.endfunc |
ENDFUNC |
519 |
|
|
520 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
521 |
; |
; |
536 |
|
|
537 |
pxor mm6, mm6 ; accum2 |
pxor mm6, mm6 ; accum2 |
538 |
pxor mm7, mm7 |
pxor mm7, mm7 |
539 |
.Loop |
.Loop: |
540 |
SADBI_16x16_MMX 0, 1 |
SADBI_16x16_MMX 0, 1 |
541 |
SADBI_16x16_MMX 0, 1 |
SADBI_16x16_MMX 0, 1 |
542 |
SADBI_16x16_MMX 0, 1 |
SADBI_16x16_MMX 0, 1 |
554 |
movd eax, mm6 |
movd eax, mm6 |
555 |
pop ebx |
pop ebx |
556 |
ret |
ret |
557 |
.endfunc |
ENDFUNC |
558 |
|
|
559 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
560 |
; |
; |
634 |
movd eax, mm6 |
movd eax, mm6 |
635 |
|
|
636 |
ret |
ret |
637 |
.endfunc |
ENDFUNC |
638 |
|
|
639 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
640 |
; |
; |
684 |
pop edi |
pop edi |
685 |
pop esi |
pop esi |
686 |
ret |
ret |
687 |
.endfunc |
ENDFUNC |
688 |
|
|
689 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
690 |
; |
; |
749 |
pop edi |
pop edi |
750 |
pop esi |
pop esi |
751 |
ret |
ret |
752 |
.endfunc |
ENDFUNC |
753 |
|
|
754 |
|
|
755 |
%ifidn __OUTPUT_FORMAT__,elf |
%ifidn __OUTPUT_FORMAT__,elf |