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