Update copyright notices with scripts/update-copyrights
[glibc.git] / sysdeps / powerpc / powerpc64 / multiarch / memset-ppc64.S
blob5b234d9ecbcb10aa79340363e2c61c399bc9f5e4
1 /* Default memset/bzero implementation for PowerPC64.
2    Copyright (C) 2013-2014 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <http://www.gnu.org/licenses/>.  */
19 #include <sysdep.h>
21 #if defined SHARED && !defined NOT_IN_libc
23 /* Copied from bzero.S to prevent the linker from inserting a stub
24    between bzero and memset.  */
25 ENTRY (__bzero_ppc)
26         CALL_MCOUNT 3
27         mr      r5,r4
28         li      r4,0
29         b       L(_memset)
30 END_GEN_TB (__bzero_ppc,TB_TOCLESS)
32 # undef EALIGN
33 # define EALIGN(name, alignt, words)                            \
34   .section ".text";                                             \
35   ENTRY_2(__memset_ppc)                                         \
36   .align ALIGNARG(alignt);                                      \
37   EALIGN_W_##words;                                             \
38   BODY_LABEL(__memset_ppc):                                     \
39   cfi_startproc;                                                \
40   LOCALENTRY(__memset_ppc)
42 # undef END_GEN_TB
43 # define END_GEN_TB(name, mask)                                 \
44   cfi_endproc;                                                  \
45   TRACEBACK_MASK(__memset_ppc,mask)                             \
46   END_2(__memset_ppc)
48 # undef libc_hidden_builtin_def
49 # define libc_hidden_builtin_def(name)                          \
50   .globl __GI_memset; __GI_memset = __memset_ppc
52 /* Do not implement __bzero at powerpc64/memset.S.  */
53 # define NO_BZERO_IMPL
54 #endif
56 #include <sysdeps/powerpc/powerpc64/memset.S>