Adding upstream version 3.50~pre5.
[syslinux-debian/hramrach.git] / com32 / lib / memcpy.S
blobed8e20e30a7ddedea9363c9b982c7d038d112bb3
2 # memcpy.S
5         .text
6         .globl  memcpy
7         .type   memcpy, @function
8 memcpy:
9         pushl   %esi
10         pushl   %edi
11 #ifdef REGPARM
12         movl    %edx, %esi
13 #else
14         movl    12(%esp), %eax
15         movl    16(%esp), %esi
16         movl    20(%esp), %ecx
17 #endif
18         movl    %eax, %edi
19         movl    %ecx, %edx
21         shrl    $2, %ecx
22         cld
23         rep ; movsl
25         jnc     1f              # The shrl had carry out if odd word count
26         movsw
28         testb   $1, %dl
29         jz      2f
30         movsb
32         popl    %edi
33         popl    %esi
34         ret
36         .size   memcpy, .-memcpy