1 /* Data for x86 version of processor capability information.
2    Copyright (C) 2017-2021 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    <https://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
46 PROCINFO_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
61 PROCINFO_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
77 PROCINFO_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