1/* Data for x86 version of processor capability information.
2 Copyright (C) 2017-2018 Free Software Foundation, Inc.
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
19/* This information must be kept in sync with the _DL_HWCAP_COUNT,
20 HWCAP_PLATFORMS_START and HWCAP_PLATFORMS_COUNT definitions in
21 dl-hwcap.h.
22
23 If anything should be added here check whether the size of each string
24 is still ok with the given array size.
25
26 All the #ifdefs in the definitions are quite irritating but
27 necessary if we want to avoid duplicating the information. There
28 are three different modes:
29
30 - PROCINFO_DECL is defined. This means we are only interested in
31 declarations.
32
33 - PROCINFO_DECL is not defined:
34
35 + if SHARED is defined the file is included in an array
36 initializer. The .element = { ... } syntax is needed.
37
38 + if SHARED is not defined a normal array initialization is
39 needed.
40 */
41
42#if !IS_IN (ldconfig)
43# if !defined PROCINFO_DECL && defined SHARED
44 ._dl_x86_cpu_features
45# else
46PROCINFO_CLASS struct cpu_features _dl_x86_cpu_features
47# endif
48# ifndef PROCINFO_DECL
49= { }
50# endif
51# if !defined SHARED || defined PROCINFO_DECL
52;
53# else
54,
55# endif
56#endif
57
58#if !defined PROCINFO_DECL && defined SHARED
59 ._dl_x86_hwcap_flags
60#else
61PROCINFO_CLASS const char _dl_x86_hwcap_flags[3][9]
62#endif
63#ifndef PROCINFO_DECL
64= {
65 "sse2", "x86_64", "avx512_1"
66 }
67#endif
68#if !defined SHARED || defined PROCINFO_DECL
69;
70#else
71,
72#endif
73
74#if !defined PROCINFO_DECL && defined SHARED
75 ._dl_x86_platforms
76#else
77PROCINFO_CLASS const char _dl_x86_platforms[4][9]
78#endif
79#ifndef PROCINFO_DECL
80= {
81 "i586", "i686", "haswell", "xeon_phi"
82 }
83#endif
84#if !defined SHARED || defined PROCINFO_DECL
85;
86#else
87,
88#endif
89