1 /* Generated by ./src/xlat/gen.sh from ./src/xlat/x86_xfeatures.in; do not edit. */
2
3 #include "gcc_compat.h"
4 #include "static_assert.h"
5
6 #if defined(XFEATURE_MASK_FPSSE) || (defined(HAVE_DECL_XFEATURE_MASK_FPSSE) && HAVE_DECL_XFEATURE_MASK_FPSSE)
7 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
8 static_assert((XFEATURE_MASK_FPSSE) == ((XFEATURE_MASK_FP | XFEATURE_MASK_SSE)), "XFEATURE_MASK_FPSSE != (XFEATURE_MASK_FP | XFEATURE_MASK_SSE)");
9 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
10 #else
11 # define XFEATURE_MASK_FPSSE (XFEATURE_MASK_FP | XFEATURE_MASK_SSE)
12 #endif
13 #if defined(XFEATURE_MASK_FP) || (defined(HAVE_DECL_XFEATURE_MASK_FP) && HAVE_DECL_XFEATURE_MASK_FP)
14 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
15 static_assert((XFEATURE_MASK_FP) == ((1 << XFEATURE_FP)), "XFEATURE_MASK_FP != (1 << XFEATURE_FP)");
16 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
17 #else
18 # define XFEATURE_MASK_FP (1 << XFEATURE_FP)
19 #endif
20 #if defined(XFEATURE_MASK_SSE) || (defined(HAVE_DECL_XFEATURE_MASK_SSE) && HAVE_DECL_XFEATURE_MASK_SSE)
21 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
22 static_assert((XFEATURE_MASK_SSE) == ((1 << XFEATURE_SSE)), "XFEATURE_MASK_SSE != (1 << XFEATURE_SSE)");
23 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
24 #else
25 # define XFEATURE_MASK_SSE (1 << XFEATURE_SSE)
26 #endif
27 #if defined(XFEATURE_MASK_YMM) || (defined(HAVE_DECL_XFEATURE_MASK_YMM) && HAVE_DECL_XFEATURE_MASK_YMM)
28 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
29 static_assert((XFEATURE_MASK_YMM) == ((1 << XFEATURE_YMM)), "XFEATURE_MASK_YMM != (1 << XFEATURE_YMM)");
30 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
31 #else
32 # define XFEATURE_MASK_YMM (1 << XFEATURE_YMM)
33 #endif
34 #if defined(XFEATURE_MASK_BNDREGS) || (defined(HAVE_DECL_XFEATURE_MASK_BNDREGS) && HAVE_DECL_XFEATURE_MASK_BNDREGS)
35 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
36 static_assert((XFEATURE_MASK_BNDREGS) == ((1 << XFEATURE_BNDREGS)), "XFEATURE_MASK_BNDREGS != (1 << XFEATURE_BNDREGS)");
37 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
38 #else
39 # define XFEATURE_MASK_BNDREGS (1 << XFEATURE_BNDREGS)
40 #endif
41 #if defined(XFEATURE_MASK_BNDCSR) || (defined(HAVE_DECL_XFEATURE_MASK_BNDCSR) && HAVE_DECL_XFEATURE_MASK_BNDCSR)
42 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
43 static_assert((XFEATURE_MASK_BNDCSR) == ((1 << XFEATURE_BNDCSR)), "XFEATURE_MASK_BNDCSR != (1 << XFEATURE_BNDCSR)");
44 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
45 #else
46 # define XFEATURE_MASK_BNDCSR (1 << XFEATURE_BNDCSR)
47 #endif
48 #if defined(XFEATURE_MASK_AVX512) || (defined(HAVE_DECL_XFEATURE_MASK_AVX512) && HAVE_DECL_XFEATURE_MASK_AVX512)
49 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
50 static_assert((XFEATURE_MASK_AVX512) == ((XFEATURE_MASK_OPMASK | XFEATURE_MASK_ZMM_Hi256 | XFEATURE_MASK_Hi16_ZMM)), "XFEATURE_MASK_AVX512 != (XFEATURE_MASK_OPMASK | XFEATURE_MASK_ZMM_Hi256 | XFEATURE_MASK_Hi16_ZMM)");
51 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
52 #else
53 # define XFEATURE_MASK_AVX512 (XFEATURE_MASK_OPMASK | XFEATURE_MASK_ZMM_Hi256 | XFEATURE_MASK_Hi16_ZMM)
54 #endif
55 #if defined(XFEATURE_MASK_OPMASK) || (defined(HAVE_DECL_XFEATURE_MASK_OPMASK) && HAVE_DECL_XFEATURE_MASK_OPMASK)
56 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
57 static_assert((XFEATURE_MASK_OPMASK) == ((1 << XFEATURE_OPMASK)), "XFEATURE_MASK_OPMASK != (1 << XFEATURE_OPMASK)");
58 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
59 #else
60 # define XFEATURE_MASK_OPMASK (1 << XFEATURE_OPMASK)
61 #endif
62 #if defined(XFEATURE_MASK_ZMM_Hi256) || (defined(HAVE_DECL_XFEATURE_MASK_ZMM_Hi256) && HAVE_DECL_XFEATURE_MASK_ZMM_Hi256)
63 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
64 static_assert((XFEATURE_MASK_ZMM_Hi256) == ((1 << XFEATURE_ZMM_Hi256)), "XFEATURE_MASK_ZMM_Hi256 != (1 << XFEATURE_ZMM_Hi256)");
65 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
66 #else
67 # define XFEATURE_MASK_ZMM_Hi256 (1 << XFEATURE_ZMM_Hi256)
68 #endif
69 #if defined(XFEATURE_MASK_Hi16_ZMM) || (defined(HAVE_DECL_XFEATURE_MASK_Hi16_ZMM) && HAVE_DECL_XFEATURE_MASK_Hi16_ZMM)
70 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
71 static_assert((XFEATURE_MASK_Hi16_ZMM) == ((1 << XFEATURE_Hi16_ZMM)), "XFEATURE_MASK_Hi16_ZMM != (1 << XFEATURE_Hi16_ZMM)");
72 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
73 #else
74 # define XFEATURE_MASK_Hi16_ZMM (1 << XFEATURE_Hi16_ZMM)
75 #endif
76 #if defined(XFEATURE_MASK_PT) || (defined(HAVE_DECL_XFEATURE_MASK_PT) && HAVE_DECL_XFEATURE_MASK_PT)
77 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
78 static_assert((XFEATURE_MASK_PT) == ((1 << XFEATURE_PT_UNIMPLEMENTED_SO_FAR)), "XFEATURE_MASK_PT != (1 << XFEATURE_PT_UNIMPLEMENTED_SO_FAR)");
79 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
80 #else
81 # define XFEATURE_MASK_PT (1 << XFEATURE_PT_UNIMPLEMENTED_SO_FAR)
82 #endif
83 #if defined(XFEATURE_MASK_PKRU) || (defined(HAVE_DECL_XFEATURE_MASK_PKRU) && HAVE_DECL_XFEATURE_MASK_PKRU)
84 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
85 static_assert((XFEATURE_MASK_PKRU) == ((1 << XFEATURE_PKRU)), "XFEATURE_MASK_PKRU != (1 << XFEATURE_PKRU)");
86 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
87 #else
88 # define XFEATURE_MASK_PKRU (1 << XFEATURE_PKRU)
89 #endif
90 #if defined(XFEATURE_MASK_PASID) || (defined(HAVE_DECL_XFEATURE_MASK_PASID) && HAVE_DECL_XFEATURE_MASK_PASID)
91 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
92 static_assert((XFEATURE_MASK_PASID) == ((1 << XFEATURE_PASID)), "XFEATURE_MASK_PASID != (1 << XFEATURE_PASID)");
93 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
94 #else
95 # define XFEATURE_MASK_PASID (1 << XFEATURE_PASID)
96 #endif
97 #if defined(XFEATURE_MASK_LBR) || (defined(HAVE_DECL_XFEATURE_MASK_LBR) && HAVE_DECL_XFEATURE_MASK_LBR)
98 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
99 static_assert((XFEATURE_MASK_LBR) == ((1 << XFEATURE_LBR)), "XFEATURE_MASK_LBR != (1 << XFEATURE_LBR)");
100 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
101 #else
102 # define XFEATURE_MASK_LBR (1 << XFEATURE_LBR)
103 #endif
104 #if defined(XFEATURE_MASK_XTILE) || (defined(HAVE_DECL_XFEATURE_MASK_XTILE) && HAVE_DECL_XFEATURE_MASK_XTILE)
105 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
106 static_assert((XFEATURE_MASK_XTILE) == ((XFEATURE_MASK_XTILE_DATA | XFEATURE_MASK_XTILE_CFG)), "XFEATURE_MASK_XTILE != (XFEATURE_MASK_XTILE_DATA | XFEATURE_MASK_XTILE_CFG)");
107 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
108 #else
109 # define XFEATURE_MASK_XTILE (XFEATURE_MASK_XTILE_DATA | XFEATURE_MASK_XTILE_CFG)
110 #endif
111 #if defined(XFEATURE_MASK_XTILE_CFG) || (defined(HAVE_DECL_XFEATURE_MASK_XTILE_CFG) && HAVE_DECL_XFEATURE_MASK_XTILE_CFG)
112 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
113 static_assert((XFEATURE_MASK_XTILE_CFG) == ((1 << XFEATURE_XTILE_CFG)), "XFEATURE_MASK_XTILE_CFG != (1 << XFEATURE_XTILE_CFG)");
114 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
115 #else
116 # define XFEATURE_MASK_XTILE_CFG (1 << XFEATURE_XTILE_CFG)
117 #endif
118 #if defined(XFEATURE_MASK_XTILE_DATA) || (defined(HAVE_DECL_XFEATURE_MASK_XTILE_DATA) && HAVE_DECL_XFEATURE_MASK_XTILE_DATA)
119 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
120 static_assert((XFEATURE_MASK_XTILE_DATA) == ((1 << XFEATURE_XTILE_DATA)), "XFEATURE_MASK_XTILE_DATA != (1 << XFEATURE_XTILE_DATA)");
121 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
122 #else
123 # define XFEATURE_MASK_XTILE_DATA (1 << XFEATURE_XTILE_DATA)
124 #endif
125 #undef XLAT_PREV_VAL
126
127 #ifndef XLAT_MACROS_ONLY
128
129 # ifdef IN_MPERS
130
131 # error static const struct xlat x86_xfeatures in mpers mode
132
133 # else
134
135 DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
136 static const struct xlat_data x86_xfeatures_xdata[] = {
137
138 XLAT(XFEATURE_MASK_FPSSE),
139 #define XLAT_VAL_0 ((unsigned) (XFEATURE_MASK_FPSSE))
140 #define XLAT_STR_0 STRINGIFY(XFEATURE_MASK_FPSSE)
141 XLAT(XFEATURE_MASK_FP),
142 #define XLAT_VAL_1 ((unsigned) (XFEATURE_MASK_FP))
143 #define XLAT_STR_1 STRINGIFY(XFEATURE_MASK_FP)
144 XLAT(XFEATURE_MASK_SSE),
145 #define XLAT_VAL_2 ((unsigned) (XFEATURE_MASK_SSE))
146 #define XLAT_STR_2 STRINGIFY(XFEATURE_MASK_SSE)
147 XLAT(XFEATURE_MASK_YMM),
148 #define XLAT_VAL_3 ((unsigned) (XFEATURE_MASK_YMM))
149 #define XLAT_STR_3 STRINGIFY(XFEATURE_MASK_YMM)
150 XLAT(XFEATURE_MASK_BNDREGS),
151 #define XLAT_VAL_4 ((unsigned) (XFEATURE_MASK_BNDREGS))
152 #define XLAT_STR_4 STRINGIFY(XFEATURE_MASK_BNDREGS)
153 XLAT(XFEATURE_MASK_BNDCSR),
154 #define XLAT_VAL_5 ((unsigned) (XFEATURE_MASK_BNDCSR))
155 #define XLAT_STR_5 STRINGIFY(XFEATURE_MASK_BNDCSR)
156 XLAT(XFEATURE_MASK_AVX512),
157 #define XLAT_VAL_6 ((unsigned) (XFEATURE_MASK_AVX512))
158 #define XLAT_STR_6 STRINGIFY(XFEATURE_MASK_AVX512)
159 XLAT(XFEATURE_MASK_OPMASK),
160 #define XLAT_VAL_7 ((unsigned) (XFEATURE_MASK_OPMASK))
161 #define XLAT_STR_7 STRINGIFY(XFEATURE_MASK_OPMASK)
162 XLAT(XFEATURE_MASK_ZMM_Hi256),
163 #define XLAT_VAL_8 ((unsigned) (XFEATURE_MASK_ZMM_Hi256))
164 #define XLAT_STR_8 STRINGIFY(XFEATURE_MASK_ZMM_Hi256)
165 XLAT(XFEATURE_MASK_Hi16_ZMM),
166 #define XLAT_VAL_9 ((unsigned) (XFEATURE_MASK_Hi16_ZMM))
167 #define XLAT_STR_9 STRINGIFY(XFEATURE_MASK_Hi16_ZMM)
168 XLAT(XFEATURE_MASK_PT),
169 #define XLAT_VAL_10 ((unsigned) (XFEATURE_MASK_PT))
170 #define XLAT_STR_10 STRINGIFY(XFEATURE_MASK_PT)
171 XLAT(XFEATURE_MASK_PKRU),
172 #define XLAT_VAL_11 ((unsigned) (XFEATURE_MASK_PKRU))
173 #define XLAT_STR_11 STRINGIFY(XFEATURE_MASK_PKRU)
174 XLAT(XFEATURE_MASK_PASID),
175 #define XLAT_VAL_12 ((unsigned) (XFEATURE_MASK_PASID))
176 #define XLAT_STR_12 STRINGIFY(XFEATURE_MASK_PASID)
177 XLAT(XFEATURE_MASK_LBR),
178 #define XLAT_VAL_13 ((unsigned) (XFEATURE_MASK_LBR))
179 #define XLAT_STR_13 STRINGIFY(XFEATURE_MASK_LBR)
180 XLAT(XFEATURE_MASK_XTILE),
181 #define XLAT_VAL_14 ((unsigned) (XFEATURE_MASK_XTILE))
182 #define XLAT_STR_14 STRINGIFY(XFEATURE_MASK_XTILE)
183 XLAT(XFEATURE_MASK_XTILE_CFG),
184 #define XLAT_VAL_15 ((unsigned) (XFEATURE_MASK_XTILE_CFG))
185 #define XLAT_STR_15 STRINGIFY(XFEATURE_MASK_XTILE_CFG)
186 XLAT(XFEATURE_MASK_XTILE_DATA),
187 #define XLAT_VAL_16 ((unsigned) (XFEATURE_MASK_XTILE_DATA))
188 #define XLAT_STR_16 STRINGIFY(XFEATURE_MASK_XTILE_DATA)
189 };
190 static
191 const struct xlat x86_xfeatures[1] = { {
192 .data = x86_xfeatures_xdata,
193 .size = ARRAY_SIZE(x86_xfeatures_xdata),
194 .type = XT_NORMAL,
195 .flags_mask = 0
196 # ifdef XLAT_VAL_0
197 | XLAT_VAL_0
198 # endif
199 # ifdef XLAT_VAL_1
200 | XLAT_VAL_1
201 # endif
202 # ifdef XLAT_VAL_2
203 | XLAT_VAL_2
204 # endif
205 # ifdef XLAT_VAL_3
206 | XLAT_VAL_3
207 # endif
208 # ifdef XLAT_VAL_4
209 | XLAT_VAL_4
210 # endif
211 # ifdef XLAT_VAL_5
212 | XLAT_VAL_5
213 # endif
214 # ifdef XLAT_VAL_6
215 | XLAT_VAL_6
216 # endif
217 # ifdef XLAT_VAL_7
218 | XLAT_VAL_7
219 # endif
220 # ifdef XLAT_VAL_8
221 | XLAT_VAL_8
222 # endif
223 # ifdef XLAT_VAL_9
224 | XLAT_VAL_9
225 # endif
226 # ifdef XLAT_VAL_10
227 | XLAT_VAL_10
228 # endif
229 # ifdef XLAT_VAL_11
230 | XLAT_VAL_11
231 # endif
232 # ifdef XLAT_VAL_12
233 | XLAT_VAL_12
234 # endif
235 # ifdef XLAT_VAL_13
236 | XLAT_VAL_13
237 # endif
238 # ifdef XLAT_VAL_14
239 | XLAT_VAL_14
240 # endif
241 # ifdef XLAT_VAL_15
242 | XLAT_VAL_15
243 # endif
244 # ifdef XLAT_VAL_16
245 | XLAT_VAL_16
246 # endif
247 ,
248 .flags_strsz = 0
249 # ifdef XLAT_STR_0
250 + sizeof(XLAT_STR_0)
251 # endif
252 # ifdef XLAT_STR_1
253 + sizeof(XLAT_STR_1)
254 # endif
255 # ifdef XLAT_STR_2
256 + sizeof(XLAT_STR_2)
257 # endif
258 # ifdef XLAT_STR_3
259 + sizeof(XLAT_STR_3)
260 # endif
261 # ifdef XLAT_STR_4
262 + sizeof(XLAT_STR_4)
263 # endif
264 # ifdef XLAT_STR_5
265 + sizeof(XLAT_STR_5)
266 # endif
267 # ifdef XLAT_STR_6
268 + sizeof(XLAT_STR_6)
269 # endif
270 # ifdef XLAT_STR_7
271 + sizeof(XLAT_STR_7)
272 # endif
273 # ifdef XLAT_STR_8
274 + sizeof(XLAT_STR_8)
275 # endif
276 # ifdef XLAT_STR_9
277 + sizeof(XLAT_STR_9)
278 # endif
279 # ifdef XLAT_STR_10
280 + sizeof(XLAT_STR_10)
281 # endif
282 # ifdef XLAT_STR_11
283 + sizeof(XLAT_STR_11)
284 # endif
285 # ifdef XLAT_STR_12
286 + sizeof(XLAT_STR_12)
287 # endif
288 # ifdef XLAT_STR_13
289 + sizeof(XLAT_STR_13)
290 # endif
291 # ifdef XLAT_STR_14
292 + sizeof(XLAT_STR_14)
293 # endif
294 # ifdef XLAT_STR_15
295 + sizeof(XLAT_STR_15)
296 # endif
297 # ifdef XLAT_STR_16
298 + sizeof(XLAT_STR_16)
299 # endif
300 ,
301 } };
302 DIAG_POP_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
303
304 # undef XLAT_STR_0
305 # undef XLAT_VAL_0
306 # undef XLAT_STR_1
307 # undef XLAT_VAL_1
308 # undef XLAT_STR_2
309 # undef XLAT_VAL_2
310 # undef XLAT_STR_3
311 # undef XLAT_VAL_3
312 # undef XLAT_STR_4
313 # undef XLAT_VAL_4
314 # undef XLAT_STR_5
315 # undef XLAT_VAL_5
316 # undef XLAT_STR_6
317 # undef XLAT_VAL_6
318 # undef XLAT_STR_7
319 # undef XLAT_VAL_7
320 # undef XLAT_STR_8
321 # undef XLAT_VAL_8
322 # undef XLAT_STR_9
323 # undef XLAT_VAL_9
324 # undef XLAT_STR_10
325 # undef XLAT_VAL_10
326 # undef XLAT_STR_11
327 # undef XLAT_VAL_11
328 # undef XLAT_STR_12
329 # undef XLAT_VAL_12
330 # undef XLAT_STR_13
331 # undef XLAT_VAL_13
332 # undef XLAT_STR_14
333 # undef XLAT_VAL_14
334 # undef XLAT_STR_15
335 # undef XLAT_VAL_15
336 # undef XLAT_STR_16
337 # undef XLAT_VAL_16
338 # endif /* !IN_MPERS */
339
340 #endif /* !XLAT_MACROS_ONLY */