File:  [DVB] / dietlibc / x86_64 / mempcpy.S
Revision 1.1: download - view: text, annotated - select for diffs
Mon Jun 6 11:48:30 2016 UTC (8 years ago) by leitner
Branches: MAIN
CVS tags: HEAD
  add x86_64 memccpy, mempcpy
  import Debian bugfixes (Christian Seiler)

.text
.global mempcpy
#ifdef __PIE__
.hidden mempcpy
#endif
.type mempcpy,@function
mempcpy:	/* rdi=dest, rsi=src, rdx=len */
  mov %rdx,%rcx
1:
  test $16,%ecx
  jnc 1f
  movups (%rsi),%xmm0
  movups %xmm0,(%rdi)
  add $16,%rsi
  add $16,%rdi
  sub $16,%rcx
  jmp 1b
1:
  shr $3,%rcx
  rep movsq
  mov %rdx,%rcx
  and $7,%rcx
  rep movsb
  mov %rdi,%rax
  ret

.Lhere:
.size mempcpy,.Lhere-mempcpy
	.section	.note.GNU-stack,"",@progbits

LinuxTV legacy CVS <linuxtv.org/cvs>