]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/powerpc/powerpc64/multiarch/wordcopy.c
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / sysdeps / powerpc / powerpc64 / multiarch / wordcopy.c
CommitLineData
e28bcd42 1/* Multiple versions of wordcopy functions.
b168057a 2 Copyright (C) 2013-2015 Free Software Foundation, Inc.
e28bcd42
AZ
3 This file is part of the GNU C Library.
4
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.
9
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.
14
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/>. */
18
4f41c682 19#if IS_IN (libc)
e28bcd42
AZ
20# include <stddef.h>
21# include <memcopy.h>
22# include <shlib-compat.h>
23# include "init-arch.h"
24
25extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_ppc
26attribute_hidden;
27extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_power6
28attribute_hidden;
29extern __typeof (_wordcopy_fwd_aligned) _wordcopy_fwd_aligned_power7
30attribute_hidden;
31
32libc_ifunc (_wordcopy_fwd_aligned,
33 (hwcap & PPC_FEATURE_HAS_VSX)
34 ? _wordcopy_fwd_aligned_power7 :
35 (hwcap & PPC_FEATURE_ARCH_2_05)
36 ? _wordcopy_fwd_aligned_power6
37 : _wordcopy_fwd_aligned_ppc);
38
39
40extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_ppc
41attribute_hidden;
42extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_power6
43attribute_hidden;
44extern __typeof (_wordcopy_fwd_dest_aligned) _wordcopy_fwd_dest_aligned_power7
45attribute_hidden;
46
47libc_ifunc (_wordcopy_fwd_dest_aligned,
48 (hwcap & PPC_FEATURE_HAS_VSX)
49 ? _wordcopy_fwd_dest_aligned_power7 :
50 (hwcap & PPC_FEATURE_ARCH_2_05)
51 ? _wordcopy_fwd_dest_aligned_power6
52 : _wordcopy_fwd_dest_aligned_ppc);
53
54
55extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_ppc
56attribute_hidden;
57extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_power6
58attribute_hidden;
59extern __typeof (_wordcopy_bwd_aligned) _wordcopy_bwd_aligned_power7
60attribute_hidden;
61
62libc_ifunc (_wordcopy_bwd_aligned,
63 (hwcap & PPC_FEATURE_HAS_VSX)
64 ? _wordcopy_bwd_aligned_power7 :
65 (hwcap & PPC_FEATURE_ARCH_2_05)
66 ? _wordcopy_bwd_aligned_power6
67 : _wordcopy_bwd_aligned_ppc);
68
69
70extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_ppc
71attribute_hidden;
72extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_power6
73attribute_hidden;
74extern __typeof (_wordcopy_bwd_dest_aligned) _wordcopy_bwd_dest_aligned_power7
75attribute_hidden;
76
77libc_ifunc (_wordcopy_bwd_dest_aligned,
78 (hwcap & PPC_FEATURE_HAS_VSX)
79 ? _wordcopy_bwd_dest_aligned_power7 :
80 (hwcap & PPC_FEATURE_ARCH_2_05)
81 ? _wordcopy_bwd_dest_aligned_power6
82 : _wordcopy_bwd_dest_aligned_ppc);
83
84#else
85#include <sysdeps/powerpc/power4/wordcopy.c>
86#endif