22 |
; * along with this program ; if not, write to the Free Software |
; * along with this program ; if not, write to the Free Software |
23 |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 |
; * |
; * |
25 |
; * $Id: mem_transfer_mmx.asm,v 1.2 2008-08-19 09:06:48 Isibaar Exp $ |
; * $Id: mem_transfer_mmx.asm,v 1.3 2008-11-11 20:46:24 Isibaar Exp $ |
26 |
; * |
; * |
27 |
; ***************************************************************************/ |
; ***************************************************************************/ |
28 |
|
|
33 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
34 |
global _%1:function %1.endfunc-%1 |
global _%1:function %1.endfunc-%1 |
35 |
%define %1 _%1:function %1.endfunc-%1 |
%define %1 _%1:function %1.endfunc-%1 |
36 |
|
%define ENDFUNC .endfunc |
37 |
%else |
%else |
38 |
global _%1 |
global _%1 |
39 |
%define %1 _%1 |
%define %1 _%1 |
40 |
|
%define ENDFUNC |
41 |
%endif |
%endif |
42 |
%else |
%else |
43 |
%ifdef MARK_FUNCS |
%ifdef MARK_FUNCS |
44 |
global %1:function %1.endfunc-%1 |
global %1:function %1.endfunc-%1 |
45 |
|
%define ENDFUNC .endfunc |
46 |
%else |
%else |
47 |
global %1 |
global %1 |
48 |
|
%define ENDFUNC |
49 |
%endif |
%endif |
50 |
%endif |
%endif |
51 |
%endmacro |
%endmacro |
112 |
COPY_8_TO_16 2 |
COPY_8_TO_16 2 |
113 |
COPY_8_TO_16 3 |
COPY_8_TO_16 3 |
114 |
ret |
ret |
115 |
.endfunc |
ENDFUNC |
116 |
|
|
117 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
118 |
; |
; |
147 |
lea rcx,[rcx+2*rdx] |
lea rcx,[rcx+2*rdx] |
148 |
COPY_16_TO_8 3 |
COPY_16_TO_8 3 |
149 |
ret |
ret |
150 |
.endfunc |
ENDFUNC |
151 |
|
|
152 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
153 |
; |
; |
213 |
|
|
214 |
pop rbx |
pop rbx |
215 |
ret |
ret |
216 |
.endfunc |
ENDFUNC |
217 |
|
|
218 |
ALIGN 16 |
ALIGN 16 |
219 |
transfer_8to16subro_x86_64: |
transfer_8to16subro_x86_64: |
233 |
|
|
234 |
pop rbx |
pop rbx |
235 |
ret |
ret |
236 |
.endfunc |
ENDFUNC |
237 |
|
|
238 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
239 |
; |
; |
301 |
|
|
302 |
pop rbx |
pop rbx |
303 |
ret |
ret |
304 |
.endfunc |
ENDFUNC |
305 |
|
|
306 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
307 |
; |
; |
358 |
COPY_8_TO_16_SUB2RO_SSE 3 |
COPY_8_TO_16_SUB2RO_SSE 3 |
359 |
|
|
360 |
ret |
ret |
361 |
.endfunc |
ENDFUNC |
362 |
|
|
363 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
364 |
; |
; |
404 |
lea rcx,[rcx+2*rdx] |
lea rcx,[rcx+2*rdx] |
405 |
COPY_16_TO_8_ADD 3 |
COPY_16_TO_8_ADD 3 |
406 |
ret |
ret |
407 |
.endfunc |
ENDFUNC |
408 |
|
|
409 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
410 |
; |
; |
437 |
lea rcx,[rcx+2*rdx] |
lea rcx,[rcx+2*rdx] |
438 |
COPY_8_TO_8 |
COPY_8_TO_8 |
439 |
ret |
ret |
440 |
.endfunc |
ENDFUNC |
441 |
|
|
442 |
%ifidn __OUTPUT_FORMAT__,elf |
%ifidn __OUTPUT_FORMAT__,elf |
443 |
section ".note.GNU-stack" noalloc noexec nowrite progbits |
section ".note.GNU-stack" noalloc noexec nowrite progbits |