ARM: Add optimized ARMv7 strcmp implementation
[glibc.git] / sysdeps / x86_64 / rtld-memset.S
blobea1e45ad8022187967100e1a6c8dce938b66f030
1 /* memset implementation for the dynamic linker.  This is separate from the
2    libc implementation to avoid writing to SSE registers.
3    Copyright (C) 2013-2014 Free Software Foundation, Inc.
4    This file is part of the GNU C Library.
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
11    The GNU C Library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
16    You should have received a copy of the GNU Lesser General Public
17    License along with the GNU C Library; if not, see
18    <http://www.gnu.org/licenses/>.  */
20 #include <sysdep.h>
21 #include "asm-syntax.h"
24         .text
25 /* void *memset (void *dest, char c, size_t count)
26    dest  => %rdi
27    c     => %rsi
28    count => %rdx  */
29 ENTRY (memset)
30         mov     %rdx, %rcx
31         movzbl  %sil, %eax
32         mov     %rdi, %rdx
33         rep     stosb
34         mov     %rdx, %rax
35         ret
36 END (memset)
37 libc_hidden_builtin_def (memset)