| /* Copyright 2002 Andi Kleen */ | |
| #include <asm/cpufeature.h> | |
| /* | |
| * memcpy - Copy a memory block. | |
| * | |
| * Input: | |
| * rdi destination | |
| * rsi source | |
| * rdx count | |
| * | |
| * Output: | |
| * rax original destination | |
| * | |
| * TODO: check best memcpy for PSC | |
| */ | |
| .globl __memcpy | |
| .globl memcpy | |
| .p2align 4 | |
| __memcpy: | |
| memcpy: | |
| movq %rdi,%rax | |
| movl %edx,%ecx | |
| shrl $3,%ecx | |
| andl $7,%edx | |
| rep | |
| movsq | |
| movl %edx,%ecx | |
| rep | |
| movsb | |
| ret |