Branch data Line data Source code
1 : : /* Generated automatically from machmode.def and config/i386/i386-modes.def
2 : : by genmodes. */
3 : :
4 : : #include "config.h"
5 : : #include "system.h"
6 : : #include "coretypes.h"
7 : : #include "tm.h"
8 : : #include "real.h"
9 : :
10 : : const char *const mode_name[NUM_MACHINE_MODES] =
11 : : {
12 : : "VOID",
13 : : "BLK",
14 : : "CC",
15 : : "CCGC",
16 : : "CCGOC",
17 : : "CCNO",
18 : : "CCGZ",
19 : : "CCA",
20 : : "CCC",
21 : : "CCO",
22 : : "CCP",
23 : : "CCS",
24 : : "CCZ",
25 : : "CCFP",
26 : : "BI",
27 : : "QI",
28 : : "HI",
29 : : "SI",
30 : : "DI",
31 : : "TI",
32 : : "OI",
33 : : "XI",
34 : : "P2QI",
35 : : "P2HI",
36 : : "POI",
37 : : "QQ",
38 : : "HQ",
39 : : "SQ",
40 : : "DQ",
41 : : "TQ",
42 : : "UQQ",
43 : : "UHQ",
44 : : "USQ",
45 : : "UDQ",
46 : : "UTQ",
47 : : "HA",
48 : : "SA",
49 : : "DA",
50 : : "TA",
51 : : "UHA",
52 : : "USA",
53 : : "UDA",
54 : : "UTA",
55 : : "HF",
56 : : "BF",
57 : : "SF",
58 : : "DF",
59 : : "XF",
60 : : "TF",
61 : : "SD",
62 : : "DD",
63 : : "TD",
64 : : "CQI",
65 : : "CP2QI",
66 : : "CHI",
67 : : "CP2HI",
68 : : "CSI",
69 : : "CDI",
70 : : "CTI",
71 : : "CPOI",
72 : : "COI",
73 : : "CXI",
74 : : "BC",
75 : : "HC",
76 : : "SC",
77 : : "DC",
78 : : "XC",
79 : : "TC",
80 : : "V2QI",
81 : : "V4QI",
82 : : "V2HI",
83 : : "V1SI",
84 : : "V8QI",
85 : : "V4HI",
86 : : "V2SI",
87 : : "V1DI",
88 : : "V12QI",
89 : : "V6HI",
90 : : "V14QI",
91 : : "V16QI",
92 : : "V8HI",
93 : : "V4SI",
94 : : "V2DI",
95 : : "V1TI",
96 : : "V32QI",
97 : : "V16HI",
98 : : "V8SI",
99 : : "V4DI",
100 : : "V2TI",
101 : : "V64QI",
102 : : "V32HI",
103 : : "V16SI",
104 : : "V8DI",
105 : : "V4TI",
106 : : "V128QI",
107 : : "V64HI",
108 : : "V32SI",
109 : : "V16DI",
110 : : "V8TI",
111 : : "V2HF",
112 : : "V2BF",
113 : : "V4BF",
114 : : "V4HF",
115 : : "V2SF",
116 : : "V6HF",
117 : : "V8BF",
118 : : "V8HF",
119 : : "V4SF",
120 : : "V2DF",
121 : : "V16BF",
122 : : "V16HF",
123 : : "V8SF",
124 : : "V4DF",
125 : : "V2TF",
126 : : "V32BF",
127 : : "V32HF",
128 : : "V16SF",
129 : : "V8DF",
130 : : "V4TF",
131 : : "V64BF",
132 : : "V64HF",
133 : : "V32SF",
134 : : "V16DF",
135 : : "V8TF",
136 : : };
137 : :
138 : : const unsigned char mode_class[NUM_MACHINE_MODES] =
139 : : {
140 : : MODE_RANDOM, /* VOID */
141 : : MODE_RANDOM, /* BLK */
142 : : MODE_CC, /* CC */
143 : : MODE_CC, /* CCGC */
144 : : MODE_CC, /* CCGOC */
145 : : MODE_CC, /* CCNO */
146 : : MODE_CC, /* CCGZ */
147 : : MODE_CC, /* CCA */
148 : : MODE_CC, /* CCC */
149 : : MODE_CC, /* CCO */
150 : : MODE_CC, /* CCP */
151 : : MODE_CC, /* CCS */
152 : : MODE_CC, /* CCZ */
153 : : MODE_CC, /* CCFP */
154 : : MODE_INT, /* BI */
155 : : MODE_INT, /* QI */
156 : : MODE_INT, /* HI */
157 : : MODE_INT, /* SI */
158 : : MODE_INT, /* DI */
159 : : MODE_INT, /* TI */
160 : : MODE_INT, /* OI */
161 : : MODE_INT, /* XI */
162 : : MODE_PARTIAL_INT, /* P2QI */
163 : : MODE_PARTIAL_INT, /* P2HI */
164 : : MODE_PARTIAL_INT, /* POI */
165 : : MODE_FRACT, /* QQ */
166 : : MODE_FRACT, /* HQ */
167 : : MODE_FRACT, /* SQ */
168 : : MODE_FRACT, /* DQ */
169 : : MODE_FRACT, /* TQ */
170 : : MODE_UFRACT, /* UQQ */
171 : : MODE_UFRACT, /* UHQ */
172 : : MODE_UFRACT, /* USQ */
173 : : MODE_UFRACT, /* UDQ */
174 : : MODE_UFRACT, /* UTQ */
175 : : MODE_ACCUM, /* HA */
176 : : MODE_ACCUM, /* SA */
177 : : MODE_ACCUM, /* DA */
178 : : MODE_ACCUM, /* TA */
179 : : MODE_UACCUM, /* UHA */
180 : : MODE_UACCUM, /* USA */
181 : : MODE_UACCUM, /* UDA */
182 : : MODE_UACCUM, /* UTA */
183 : : MODE_FLOAT, /* HF */
184 : : MODE_FLOAT, /* BF */
185 : : MODE_FLOAT, /* SF */
186 : : MODE_FLOAT, /* DF */
187 : : MODE_FLOAT, /* XF */
188 : : MODE_FLOAT, /* TF */
189 : : MODE_DECIMAL_FLOAT, /* SD */
190 : : MODE_DECIMAL_FLOAT, /* DD */
191 : : MODE_DECIMAL_FLOAT, /* TD */
192 : : MODE_COMPLEX_INT, /* CQI */
193 : : MODE_COMPLEX_INT, /* CP2QI */
194 : : MODE_COMPLEX_INT, /* CHI */
195 : : MODE_COMPLEX_INT, /* CP2HI */
196 : : MODE_COMPLEX_INT, /* CSI */
197 : : MODE_COMPLEX_INT, /* CDI */
198 : : MODE_COMPLEX_INT, /* CTI */
199 : : MODE_COMPLEX_INT, /* CPOI */
200 : : MODE_COMPLEX_INT, /* COI */
201 : : MODE_COMPLEX_INT, /* CXI */
202 : : MODE_COMPLEX_FLOAT, /* BC */
203 : : MODE_COMPLEX_FLOAT, /* HC */
204 : : MODE_COMPLEX_FLOAT, /* SC */
205 : : MODE_COMPLEX_FLOAT, /* DC */
206 : : MODE_COMPLEX_FLOAT, /* XC */
207 : : MODE_COMPLEX_FLOAT, /* TC */
208 : : MODE_VECTOR_INT, /* V2QI */
209 : : MODE_VECTOR_INT, /* V4QI */
210 : : MODE_VECTOR_INT, /* V2HI */
211 : : MODE_VECTOR_INT, /* V1SI */
212 : : MODE_VECTOR_INT, /* V8QI */
213 : : MODE_VECTOR_INT, /* V4HI */
214 : : MODE_VECTOR_INT, /* V2SI */
215 : : MODE_VECTOR_INT, /* V1DI */
216 : : MODE_VECTOR_INT, /* V12QI */
217 : : MODE_VECTOR_INT, /* V6HI */
218 : : MODE_VECTOR_INT, /* V14QI */
219 : : MODE_VECTOR_INT, /* V16QI */
220 : : MODE_VECTOR_INT, /* V8HI */
221 : : MODE_VECTOR_INT, /* V4SI */
222 : : MODE_VECTOR_INT, /* V2DI */
223 : : MODE_VECTOR_INT, /* V1TI */
224 : : MODE_VECTOR_INT, /* V32QI */
225 : : MODE_VECTOR_INT, /* V16HI */
226 : : MODE_VECTOR_INT, /* V8SI */
227 : : MODE_VECTOR_INT, /* V4DI */
228 : : MODE_VECTOR_INT, /* V2TI */
229 : : MODE_VECTOR_INT, /* V64QI */
230 : : MODE_VECTOR_INT, /* V32HI */
231 : : MODE_VECTOR_INT, /* V16SI */
232 : : MODE_VECTOR_INT, /* V8DI */
233 : : MODE_VECTOR_INT, /* V4TI */
234 : : MODE_VECTOR_INT, /* V128QI */
235 : : MODE_VECTOR_INT, /* V64HI */
236 : : MODE_VECTOR_INT, /* V32SI */
237 : : MODE_VECTOR_INT, /* V16DI */
238 : : MODE_VECTOR_INT, /* V8TI */
239 : : MODE_VECTOR_FLOAT, /* V2HF */
240 : : MODE_VECTOR_FLOAT, /* V2BF */
241 : : MODE_VECTOR_FLOAT, /* V4BF */
242 : : MODE_VECTOR_FLOAT, /* V4HF */
243 : : MODE_VECTOR_FLOAT, /* V2SF */
244 : : MODE_VECTOR_FLOAT, /* V6HF */
245 : : MODE_VECTOR_FLOAT, /* V8BF */
246 : : MODE_VECTOR_FLOAT, /* V8HF */
247 : : MODE_VECTOR_FLOAT, /* V4SF */
248 : : MODE_VECTOR_FLOAT, /* V2DF */
249 : : MODE_VECTOR_FLOAT, /* V16BF */
250 : : MODE_VECTOR_FLOAT, /* V16HF */
251 : : MODE_VECTOR_FLOAT, /* V8SF */
252 : : MODE_VECTOR_FLOAT, /* V4DF */
253 : : MODE_VECTOR_FLOAT, /* V2TF */
254 : : MODE_VECTOR_FLOAT, /* V32BF */
255 : : MODE_VECTOR_FLOAT, /* V32HF */
256 : : MODE_VECTOR_FLOAT, /* V16SF */
257 : : MODE_VECTOR_FLOAT, /* V8DF */
258 : : MODE_VECTOR_FLOAT, /* V4TF */
259 : : MODE_VECTOR_FLOAT, /* V64BF */
260 : : MODE_VECTOR_FLOAT, /* V64HF */
261 : : MODE_VECTOR_FLOAT, /* V32SF */
262 : : MODE_VECTOR_FLOAT, /* V16DF */
263 : : MODE_VECTOR_FLOAT, /* V8TF */
264 : : };
265 : :
266 : : const poly_uint16 mode_precision[NUM_MACHINE_MODES] =
267 : : {
268 : : { 0 }, /* VOID */
269 : : { 0 }, /* BLK */
270 : : { 4 * BITS_PER_UNIT }, /* CC */
271 : : { 4 * BITS_PER_UNIT }, /* CCGC */
272 : : { 4 * BITS_PER_UNIT }, /* CCGOC */
273 : : { 4 * BITS_PER_UNIT }, /* CCNO */
274 : : { 4 * BITS_PER_UNIT }, /* CCGZ */
275 : : { 4 * BITS_PER_UNIT }, /* CCA */
276 : : { 4 * BITS_PER_UNIT }, /* CCC */
277 : : { 4 * BITS_PER_UNIT }, /* CCO */
278 : : { 4 * BITS_PER_UNIT }, /* CCP */
279 : : { 4 * BITS_PER_UNIT }, /* CCS */
280 : : { 4 * BITS_PER_UNIT }, /* CCZ */
281 : : { 4 * BITS_PER_UNIT }, /* CCFP */
282 : : { 1 }, /* BI */
283 : : { 1 * BITS_PER_UNIT }, /* QI */
284 : : { 2 * BITS_PER_UNIT }, /* HI */
285 : : { 4 * BITS_PER_UNIT }, /* SI */
286 : : { 8 * BITS_PER_UNIT }, /* DI */
287 : : { 16 * BITS_PER_UNIT }, /* TI */
288 : : { 32 * BITS_PER_UNIT }, /* OI */
289 : : { 64 * BITS_PER_UNIT }, /* XI */
290 : : { 16 }, /* P2QI */
291 : : { 32 }, /* P2HI */
292 : : { 160 }, /* POI */
293 : : { 1 * BITS_PER_UNIT }, /* QQ */
294 : : { 2 * BITS_PER_UNIT }, /* HQ */
295 : : { 4 * BITS_PER_UNIT }, /* SQ */
296 : : { 8 * BITS_PER_UNIT }, /* DQ */
297 : : { 16 * BITS_PER_UNIT }, /* TQ */
298 : : { 1 * BITS_PER_UNIT }, /* UQQ */
299 : : { 2 * BITS_PER_UNIT }, /* UHQ */
300 : : { 4 * BITS_PER_UNIT }, /* USQ */
301 : : { 8 * BITS_PER_UNIT }, /* UDQ */
302 : : { 16 * BITS_PER_UNIT }, /* UTQ */
303 : : { 2 * BITS_PER_UNIT }, /* HA */
304 : : { 4 * BITS_PER_UNIT }, /* SA */
305 : : { 8 * BITS_PER_UNIT }, /* DA */
306 : : { 16 * BITS_PER_UNIT }, /* TA */
307 : : { 2 * BITS_PER_UNIT }, /* UHA */
308 : : { 4 * BITS_PER_UNIT }, /* USA */
309 : : { 8 * BITS_PER_UNIT }, /* UDA */
310 : : { 16 * BITS_PER_UNIT }, /* UTA */
311 : : { 2 * BITS_PER_UNIT }, /* HF */
312 : : { 2 * BITS_PER_UNIT }, /* BF */
313 : : { 4 * BITS_PER_UNIT }, /* SF */
314 : : { 8 * BITS_PER_UNIT }, /* DF */
315 : : { 80 }, /* XF */
316 : : { 16 * BITS_PER_UNIT }, /* TF */
317 : : { 4 * BITS_PER_UNIT }, /* SD */
318 : : { 8 * BITS_PER_UNIT }, /* DD */
319 : : { 16 * BITS_PER_UNIT }, /* TD */
320 : : { 2 * BITS_PER_UNIT }, /* CQI */
321 : : { 32 }, /* CP2QI */
322 : : { 4 * BITS_PER_UNIT }, /* CHI */
323 : : { 64 }, /* CP2HI */
324 : : { 8 * BITS_PER_UNIT }, /* CSI */
325 : : { 16 * BITS_PER_UNIT }, /* CDI */
326 : : { 32 * BITS_PER_UNIT }, /* CTI */
327 : : { 320 }, /* CPOI */
328 : : { 64 * BITS_PER_UNIT }, /* COI */
329 : : { 128 * BITS_PER_UNIT }, /* CXI */
330 : : { 4 * BITS_PER_UNIT }, /* BC */
331 : : { 4 * BITS_PER_UNIT }, /* HC */
332 : : { 8 * BITS_PER_UNIT }, /* SC */
333 : : { 16 * BITS_PER_UNIT }, /* DC */
334 : : { 160 }, /* XC */
335 : : { 32 * BITS_PER_UNIT }, /* TC */
336 : : { 2 * BITS_PER_UNIT }, /* V2QI */
337 : : { 4 * BITS_PER_UNIT }, /* V4QI */
338 : : { 4 * BITS_PER_UNIT }, /* V2HI */
339 : : { 4 * BITS_PER_UNIT }, /* V1SI */
340 : : { 8 * BITS_PER_UNIT }, /* V8QI */
341 : : { 8 * BITS_PER_UNIT }, /* V4HI */
342 : : { 8 * BITS_PER_UNIT }, /* V2SI */
343 : : { 8 * BITS_PER_UNIT }, /* V1DI */
344 : : { 12 * BITS_PER_UNIT }, /* V12QI */
345 : : { 12 * BITS_PER_UNIT }, /* V6HI */
346 : : { 14 * BITS_PER_UNIT }, /* V14QI */
347 : : { 16 * BITS_PER_UNIT }, /* V16QI */
348 : : { 16 * BITS_PER_UNIT }, /* V8HI */
349 : : { 16 * BITS_PER_UNIT }, /* V4SI */
350 : : { 16 * BITS_PER_UNIT }, /* V2DI */
351 : : { 16 * BITS_PER_UNIT }, /* V1TI */
352 : : { 32 * BITS_PER_UNIT }, /* V32QI */
353 : : { 32 * BITS_PER_UNIT }, /* V16HI */
354 : : { 32 * BITS_PER_UNIT }, /* V8SI */
355 : : { 32 * BITS_PER_UNIT }, /* V4DI */
356 : : { 32 * BITS_PER_UNIT }, /* V2TI */
357 : : { 64 * BITS_PER_UNIT }, /* V64QI */
358 : : { 64 * BITS_PER_UNIT }, /* V32HI */
359 : : { 64 * BITS_PER_UNIT }, /* V16SI */
360 : : { 64 * BITS_PER_UNIT }, /* V8DI */
361 : : { 64 * BITS_PER_UNIT }, /* V4TI */
362 : : { 128 * BITS_PER_UNIT }, /* V128QI */
363 : : { 128 * BITS_PER_UNIT }, /* V64HI */
364 : : { 128 * BITS_PER_UNIT }, /* V32SI */
365 : : { 128 * BITS_PER_UNIT }, /* V16DI */
366 : : { 128 * BITS_PER_UNIT }, /* V8TI */
367 : : { 4 * BITS_PER_UNIT }, /* V2HF */
368 : : { 4 * BITS_PER_UNIT }, /* V2BF */
369 : : { 8 * BITS_PER_UNIT }, /* V4BF */
370 : : { 8 * BITS_PER_UNIT }, /* V4HF */
371 : : { 8 * BITS_PER_UNIT }, /* V2SF */
372 : : { 12 * BITS_PER_UNIT }, /* V6HF */
373 : : { 16 * BITS_PER_UNIT }, /* V8BF */
374 : : { 16 * BITS_PER_UNIT }, /* V8HF */
375 : : { 16 * BITS_PER_UNIT }, /* V4SF */
376 : : { 16 * BITS_PER_UNIT }, /* V2DF */
377 : : { 32 * BITS_PER_UNIT }, /* V16BF */
378 : : { 32 * BITS_PER_UNIT }, /* V16HF */
379 : : { 32 * BITS_PER_UNIT }, /* V8SF */
380 : : { 32 * BITS_PER_UNIT }, /* V4DF */
381 : : { 32 * BITS_PER_UNIT }, /* V2TF */
382 : : { 64 * BITS_PER_UNIT }, /* V32BF */
383 : : { 64 * BITS_PER_UNIT }, /* V32HF */
384 : : { 64 * BITS_PER_UNIT }, /* V16SF */
385 : : { 64 * BITS_PER_UNIT }, /* V8DF */
386 : : { 64 * BITS_PER_UNIT }, /* V4TF */
387 : : { 128 * BITS_PER_UNIT }, /* V64BF */
388 : : { 128 * BITS_PER_UNIT }, /* V64HF */
389 : : { 128 * BITS_PER_UNIT }, /* V32SF */
390 : : { 128 * BITS_PER_UNIT }, /* V16DF */
391 : : { 128 * BITS_PER_UNIT }, /* V8TF */
392 : : };
393 : :
394 : : poly_uint16 mode_size[NUM_MACHINE_MODES] =
395 : : {
396 : : { 0 }, /* VOID */
397 : : { 0 }, /* BLK */
398 : : { 4 }, /* CC */
399 : : { 4 }, /* CCGC */
400 : : { 4 }, /* CCGOC */
401 : : { 4 }, /* CCNO */
402 : : { 4 }, /* CCGZ */
403 : : { 4 }, /* CCA */
404 : : { 4 }, /* CCC */
405 : : { 4 }, /* CCO */
406 : : { 4 }, /* CCP */
407 : : { 4 }, /* CCS */
408 : : { 4 }, /* CCZ */
409 : : { 4 }, /* CCFP */
410 : : { 1 }, /* BI */
411 : : { 1 }, /* QI */
412 : : { 2 }, /* HI */
413 : : { 4 }, /* SI */
414 : : { 8 }, /* DI */
415 : : { 16 }, /* TI */
416 : : { 32 }, /* OI */
417 : : { 64 }, /* XI */
418 : : { 2 }, /* P2QI */
419 : : { 4 }, /* P2HI */
420 : : { 32 }, /* POI */
421 : : { 1 }, /* QQ */
422 : : { 2 }, /* HQ */
423 : : { 4 }, /* SQ */
424 : : { 8 }, /* DQ */
425 : : { 16 }, /* TQ */
426 : : { 1 }, /* UQQ */
427 : : { 2 }, /* UHQ */
428 : : { 4 }, /* USQ */
429 : : { 8 }, /* UDQ */
430 : : { 16 }, /* UTQ */
431 : : { 2 }, /* HA */
432 : : { 4 }, /* SA */
433 : : { 8 }, /* DA */
434 : : { 16 }, /* TA */
435 : : { 2 }, /* UHA */
436 : : { 4 }, /* USA */
437 : : { 8 }, /* UDA */
438 : : { 16 }, /* UTA */
439 : : { 2 }, /* HF */
440 : : { 2 }, /* BF */
441 : : { 4 }, /* SF */
442 : : { 8 }, /* DF */
443 : : { 12 }, /* XF */
444 : : { 16 }, /* TF */
445 : : { 4 }, /* SD */
446 : : { 8 }, /* DD */
447 : : { 16 }, /* TD */
448 : : { 2 }, /* CQI */
449 : : { 4 }, /* CP2QI */
450 : : { 4 }, /* CHI */
451 : : { 8 }, /* CP2HI */
452 : : { 8 }, /* CSI */
453 : : { 16 }, /* CDI */
454 : : { 32 }, /* CTI */
455 : : { 64 }, /* CPOI */
456 : : { 64 }, /* COI */
457 : : { 128 }, /* CXI */
458 : : { 4 }, /* BC */
459 : : { 4 }, /* HC */
460 : : { 8 }, /* SC */
461 : : { 16 }, /* DC */
462 : : { 24 }, /* XC */
463 : : { 32 }, /* TC */
464 : : { 2 }, /* V2QI */
465 : : { 4 }, /* V4QI */
466 : : { 4 }, /* V2HI */
467 : : { 4 }, /* V1SI */
468 : : { 8 }, /* V8QI */
469 : : { 8 }, /* V4HI */
470 : : { 8 }, /* V2SI */
471 : : { 8 }, /* V1DI */
472 : : { 12 }, /* V12QI */
473 : : { 12 }, /* V6HI */
474 : : { 14 }, /* V14QI */
475 : : { 16 }, /* V16QI */
476 : : { 16 }, /* V8HI */
477 : : { 16 }, /* V4SI */
478 : : { 16 }, /* V2DI */
479 : : { 16 }, /* V1TI */
480 : : { 32 }, /* V32QI */
481 : : { 32 }, /* V16HI */
482 : : { 32 }, /* V8SI */
483 : : { 32 }, /* V4DI */
484 : : { 32 }, /* V2TI */
485 : : { 64 }, /* V64QI */
486 : : { 64 }, /* V32HI */
487 : : { 64 }, /* V16SI */
488 : : { 64 }, /* V8DI */
489 : : { 64 }, /* V4TI */
490 : : { 128 }, /* V128QI */
491 : : { 128 }, /* V64HI */
492 : : { 128 }, /* V32SI */
493 : : { 128 }, /* V16DI */
494 : : { 128 }, /* V8TI */
495 : : { 4 }, /* V2HF */
496 : : { 4 }, /* V2BF */
497 : : { 8 }, /* V4BF */
498 : : { 8 }, /* V4HF */
499 : : { 8 }, /* V2SF */
500 : : { 12 }, /* V6HF */
501 : : { 16 }, /* V8BF */
502 : : { 16 }, /* V8HF */
503 : : { 16 }, /* V4SF */
504 : : { 16 }, /* V2DF */
505 : : { 32 }, /* V16BF */
506 : : { 32 }, /* V16HF */
507 : : { 32 }, /* V8SF */
508 : : { 32 }, /* V4DF */
509 : : { 32 }, /* V2TF */
510 : : { 64 }, /* V32BF */
511 : : { 64 }, /* V32HF */
512 : : { 64 }, /* V16SF */
513 : : { 64 }, /* V8DF */
514 : : { 64 }, /* V4TF */
515 : : { 128 }, /* V64BF */
516 : : { 128 }, /* V64HF */
517 : : { 128 }, /* V32SF */
518 : : { 128 }, /* V16DF */
519 : : { 128 }, /* V8TF */
520 : : };
521 : :
522 : : const poly_uint16 mode_nunits[NUM_MACHINE_MODES] =
523 : : {
524 : : { 0 }, /* VOID */
525 : : { 0 }, /* BLK */
526 : : { 1 }, /* CC */
527 : : { 1 }, /* CCGC */
528 : : { 1 }, /* CCGOC */
529 : : { 1 }, /* CCNO */
530 : : { 1 }, /* CCGZ */
531 : : { 1 }, /* CCA */
532 : : { 1 }, /* CCC */
533 : : { 1 }, /* CCO */
534 : : { 1 }, /* CCP */
535 : : { 1 }, /* CCS */
536 : : { 1 }, /* CCZ */
537 : : { 1 }, /* CCFP */
538 : : { 1 }, /* BI */
539 : : { 1 }, /* QI */
540 : : { 1 }, /* HI */
541 : : { 1 }, /* SI */
542 : : { 1 }, /* DI */
543 : : { 1 }, /* TI */
544 : : { 1 }, /* OI */
545 : : { 1 }, /* XI */
546 : : { 1 }, /* P2QI */
547 : : { 1 }, /* P2HI */
548 : : { 1 }, /* POI */
549 : : { 1 }, /* QQ */
550 : : { 1 }, /* HQ */
551 : : { 1 }, /* SQ */
552 : : { 1 }, /* DQ */
553 : : { 1 }, /* TQ */
554 : : { 1 }, /* UQQ */
555 : : { 1 }, /* UHQ */
556 : : { 1 }, /* USQ */
557 : : { 1 }, /* UDQ */
558 : : { 1 }, /* UTQ */
559 : : { 1 }, /* HA */
560 : : { 1 }, /* SA */
561 : : { 1 }, /* DA */
562 : : { 1 }, /* TA */
563 : : { 1 }, /* UHA */
564 : : { 1 }, /* USA */
565 : : { 1 }, /* UDA */
566 : : { 1 }, /* UTA */
567 : : { 1 }, /* HF */
568 : : { 1 }, /* BF */
569 : : { 1 }, /* SF */
570 : : { 1 }, /* DF */
571 : : { 1 }, /* XF */
572 : : { 1 }, /* TF */
573 : : { 1 }, /* SD */
574 : : { 1 }, /* DD */
575 : : { 1 }, /* TD */
576 : : { 2 }, /* CQI */
577 : : { 2 }, /* CP2QI */
578 : : { 2 }, /* CHI */
579 : : { 2 }, /* CP2HI */
580 : : { 2 }, /* CSI */
581 : : { 2 }, /* CDI */
582 : : { 2 }, /* CTI */
583 : : { 2 }, /* CPOI */
584 : : { 2 }, /* COI */
585 : : { 2 }, /* CXI */
586 : : { 2 }, /* BC */
587 : : { 2 }, /* HC */
588 : : { 2 }, /* SC */
589 : : { 2 }, /* DC */
590 : : { 2 }, /* XC */
591 : : { 2 }, /* TC */
592 : : { 2 }, /* V2QI */
593 : : { 4 }, /* V4QI */
594 : : { 2 }, /* V2HI */
595 : : { 1 }, /* V1SI */
596 : : { 8 }, /* V8QI */
597 : : { 4 }, /* V4HI */
598 : : { 2 }, /* V2SI */
599 : : { 1 }, /* V1DI */
600 : : { 12 }, /* V12QI */
601 : : { 6 }, /* V6HI */
602 : : { 14 }, /* V14QI */
603 : : { 16 }, /* V16QI */
604 : : { 8 }, /* V8HI */
605 : : { 4 }, /* V4SI */
606 : : { 2 }, /* V2DI */
607 : : { 1 }, /* V1TI */
608 : : { 32 }, /* V32QI */
609 : : { 16 }, /* V16HI */
610 : : { 8 }, /* V8SI */
611 : : { 4 }, /* V4DI */
612 : : { 2 }, /* V2TI */
613 : : { 64 }, /* V64QI */
614 : : { 32 }, /* V32HI */
615 : : { 16 }, /* V16SI */
616 : : { 8 }, /* V8DI */
617 : : { 4 }, /* V4TI */
618 : : { 128 }, /* V128QI */
619 : : { 64 }, /* V64HI */
620 : : { 32 }, /* V32SI */
621 : : { 16 }, /* V16DI */
622 : : { 8 }, /* V8TI */
623 : : { 2 }, /* V2HF */
624 : : { 2 }, /* V2BF */
625 : : { 4 }, /* V4BF */
626 : : { 4 }, /* V4HF */
627 : : { 2 }, /* V2SF */
628 : : { 6 }, /* V6HF */
629 : : { 8 }, /* V8BF */
630 : : { 8 }, /* V8HF */
631 : : { 4 }, /* V4SF */
632 : : { 2 }, /* V2DF */
633 : : { 16 }, /* V16BF */
634 : : { 16 }, /* V16HF */
635 : : { 8 }, /* V8SF */
636 : : { 4 }, /* V4DF */
637 : : { 2 }, /* V2TF */
638 : : { 32 }, /* V32BF */
639 : : { 32 }, /* V32HF */
640 : : { 16 }, /* V16SF */
641 : : { 8 }, /* V8DF */
642 : : { 4 }, /* V4TF */
643 : : { 64 }, /* V64BF */
644 : : { 64 }, /* V64HF */
645 : : { 32 }, /* V32SF */
646 : : { 16 }, /* V16DF */
647 : : { 8 }, /* V8TF */
648 : : };
649 : :
650 : : const unsigned short mode_next[NUM_MACHINE_MODES] =
651 : : {
652 : : E_VOIDmode, /* VOID */
653 : : E_VOIDmode, /* BLK */
654 : : E_VOIDmode, /* CC */
655 : : E_VOIDmode, /* CCGC */
656 : : E_VOIDmode, /* CCGOC */
657 : : E_VOIDmode, /* CCNO */
658 : : E_VOIDmode, /* CCGZ */
659 : : E_VOIDmode, /* CCA */
660 : : E_VOIDmode, /* CCC */
661 : : E_VOIDmode, /* CCO */
662 : : E_VOIDmode, /* CCP */
663 : : E_VOIDmode, /* CCS */
664 : : E_VOIDmode, /* CCZ */
665 : : E_VOIDmode, /* CCFP */
666 : : E_QImode, /* BI */
667 : : E_HImode, /* QI */
668 : : E_SImode, /* HI */
669 : : E_DImode, /* SI */
670 : : E_TImode, /* DI */
671 : : E_OImode, /* TI */
672 : : E_XImode, /* OI */
673 : : E_VOIDmode, /* XI */
674 : : E_HImode, /* P2QI */
675 : : E_SImode, /* P2HI */
676 : : E_OImode, /* POI */
677 : : E_HQmode, /* QQ */
678 : : E_SQmode, /* HQ */
679 : : E_DQmode, /* SQ */
680 : : E_TQmode, /* DQ */
681 : : E_VOIDmode, /* TQ */
682 : : E_UHQmode, /* UQQ */
683 : : E_USQmode, /* UHQ */
684 : : E_UDQmode, /* USQ */
685 : : E_UTQmode, /* UDQ */
686 : : E_VOIDmode, /* UTQ */
687 : : E_SAmode, /* HA */
688 : : E_DAmode, /* SA */
689 : : E_TAmode, /* DA */
690 : : E_VOIDmode, /* TA */
691 : : E_USAmode, /* UHA */
692 : : E_UDAmode, /* USA */
693 : : E_UTAmode, /* UDA */
694 : : E_VOIDmode, /* UTA */
695 : : E_BFmode, /* HF */
696 : : E_SFmode, /* BF */
697 : : E_DFmode, /* SF */
698 : : E_XFmode, /* DF */
699 : : E_TFmode, /* XF */
700 : : E_VOIDmode, /* TF */
701 : : E_DDmode, /* SD */
702 : : E_TDmode, /* DD */
703 : : E_VOIDmode, /* TD */
704 : : E_CP2QImode, /* CQI */
705 : : E_CHImode, /* CP2QI */
706 : : E_CP2HImode, /* CHI */
707 : : E_CSImode, /* CP2HI */
708 : : E_CDImode, /* CSI */
709 : : E_CTImode, /* CDI */
710 : : E_CPOImode, /* CTI */
711 : : E_COImode, /* CPOI */
712 : : E_CXImode, /* COI */
713 : : E_VOIDmode, /* CXI */
714 : : E_HCmode, /* BC */
715 : : E_SCmode, /* HC */
716 : : E_DCmode, /* SC */
717 : : E_XCmode, /* DC */
718 : : E_TCmode, /* XC */
719 : : E_VOIDmode, /* TC */
720 : : E_V4QImode, /* V2QI */
721 : : E_V2HImode, /* V4QI */
722 : : E_V1SImode, /* V2HI */
723 : : E_V8QImode, /* V1SI */
724 : : E_V4HImode, /* V8QI */
725 : : E_V2SImode, /* V4HI */
726 : : E_V1DImode, /* V2SI */
727 : : E_V12QImode, /* V1DI */
728 : : E_V6HImode, /* V12QI */
729 : : E_V14QImode, /* V6HI */
730 : : E_V16QImode, /* V14QI */
731 : : E_V8HImode, /* V16QI */
732 : : E_V4SImode, /* V8HI */
733 : : E_V2DImode, /* V4SI */
734 : : E_V1TImode, /* V2DI */
735 : : E_V32QImode, /* V1TI */
736 : : E_V16HImode, /* V32QI */
737 : : E_V8SImode, /* V16HI */
738 : : E_V4DImode, /* V8SI */
739 : : E_V2TImode, /* V4DI */
740 : : E_V64QImode, /* V2TI */
741 : : E_V32HImode, /* V64QI */
742 : : E_V16SImode, /* V32HI */
743 : : E_V8DImode, /* V16SI */
744 : : E_V4TImode, /* V8DI */
745 : : E_V128QImode, /* V4TI */
746 : : E_V64HImode, /* V128QI */
747 : : E_V32SImode, /* V64HI */
748 : : E_V16DImode, /* V32SI */
749 : : E_V8TImode, /* V16DI */
750 : : E_VOIDmode, /* V8TI */
751 : : E_V2BFmode, /* V2HF */
752 : : E_V4BFmode, /* V2BF */
753 : : E_V4HFmode, /* V4BF */
754 : : E_V2SFmode, /* V4HF */
755 : : E_V6HFmode, /* V2SF */
756 : : E_V8BFmode, /* V6HF */
757 : : E_V8HFmode, /* V8BF */
758 : : E_V4SFmode, /* V8HF */
759 : : E_V2DFmode, /* V4SF */
760 : : E_V16BFmode, /* V2DF */
761 : : E_V16HFmode, /* V16BF */
762 : : E_V8SFmode, /* V16HF */
763 : : E_V4DFmode, /* V8SF */
764 : : E_V2TFmode, /* V4DF */
765 : : E_V32BFmode, /* V2TF */
766 : : E_V32HFmode, /* V32BF */
767 : : E_V16SFmode, /* V32HF */
768 : : E_V8DFmode, /* V16SF */
769 : : E_V4TFmode, /* V8DF */
770 : : E_V64BFmode, /* V4TF */
771 : : E_V64HFmode, /* V64BF */
772 : : E_V32SFmode, /* V64HF */
773 : : E_V16DFmode, /* V32SF */
774 : : E_V8TFmode, /* V16DF */
775 : : E_VOIDmode, /* V8TF */
776 : : };
777 : :
778 : : const unsigned short mode_wider[NUM_MACHINE_MODES] =
779 : : {
780 : : E_VOIDmode, /* VOID */
781 : : E_VOIDmode, /* BLK */
782 : : E_VOIDmode, /* CC */
783 : : E_VOIDmode, /* CCGC */
784 : : E_VOIDmode, /* CCGOC */
785 : : E_VOIDmode, /* CCNO */
786 : : E_VOIDmode, /* CCGZ */
787 : : E_VOIDmode, /* CCA */
788 : : E_VOIDmode, /* CCC */
789 : : E_VOIDmode, /* CCO */
790 : : E_VOIDmode, /* CCP */
791 : : E_VOIDmode, /* CCS */
792 : : E_VOIDmode, /* CCZ */
793 : : E_VOIDmode, /* CCFP */
794 : : E_QImode, /* BI */
795 : : E_HImode, /* QI */
796 : : E_SImode, /* HI */
797 : : E_DImode, /* SI */
798 : : E_TImode, /* DI */
799 : : E_OImode, /* TI */
800 : : E_XImode, /* OI */
801 : : E_VOIDmode, /* XI */
802 : : E_HImode, /* P2QI */
803 : : E_SImode, /* P2HI */
804 : : E_OImode, /* POI */
805 : : E_HQmode, /* QQ */
806 : : E_SQmode, /* HQ */
807 : : E_DQmode, /* SQ */
808 : : E_TQmode, /* DQ */
809 : : E_VOIDmode, /* TQ */
810 : : E_UHQmode, /* UQQ */
811 : : E_USQmode, /* UHQ */
812 : : E_UDQmode, /* USQ */
813 : : E_UTQmode, /* UDQ */
814 : : E_VOIDmode, /* UTQ */
815 : : E_SAmode, /* HA */
816 : : E_DAmode, /* SA */
817 : : E_TAmode, /* DA */
818 : : E_VOIDmode, /* TA */
819 : : E_USAmode, /* UHA */
820 : : E_UDAmode, /* USA */
821 : : E_UTAmode, /* UDA */
822 : : E_VOIDmode, /* UTA */
823 : : E_SFmode, /* HF */
824 : : E_SFmode, /* BF */
825 : : E_DFmode, /* SF */
826 : : E_XFmode, /* DF */
827 : : E_TFmode, /* XF */
828 : : E_VOIDmode, /* TF */
829 : : E_DDmode, /* SD */
830 : : E_TDmode, /* DD */
831 : : E_VOIDmode, /* TD */
832 : : E_VOIDmode, /* CQI */
833 : : E_VOIDmode, /* CP2QI */
834 : : E_VOIDmode, /* CHI */
835 : : E_VOIDmode, /* CP2HI */
836 : : E_VOIDmode, /* CSI */
837 : : E_VOIDmode, /* CDI */
838 : : E_VOIDmode, /* CTI */
839 : : E_VOIDmode, /* CPOI */
840 : : E_VOIDmode, /* COI */
841 : : E_VOIDmode, /* CXI */
842 : : E_SCmode, /* BC */
843 : : E_SCmode, /* HC */
844 : : E_DCmode, /* SC */
845 : : E_XCmode, /* DC */
846 : : E_TCmode, /* XC */
847 : : E_VOIDmode, /* TC */
848 : : E_VOIDmode, /* V2QI */
849 : : E_VOIDmode, /* V4QI */
850 : : E_VOIDmode, /* V2HI */
851 : : E_VOIDmode, /* V1SI */
852 : : E_VOIDmode, /* V8QI */
853 : : E_VOIDmode, /* V4HI */
854 : : E_VOIDmode, /* V2SI */
855 : : E_VOIDmode, /* V1DI */
856 : : E_VOIDmode, /* V12QI */
857 : : E_VOIDmode, /* V6HI */
858 : : E_VOIDmode, /* V14QI */
859 : : E_VOIDmode, /* V16QI */
860 : : E_VOIDmode, /* V8HI */
861 : : E_VOIDmode, /* V4SI */
862 : : E_VOIDmode, /* V2DI */
863 : : E_VOIDmode, /* V1TI */
864 : : E_VOIDmode, /* V32QI */
865 : : E_VOIDmode, /* V16HI */
866 : : E_VOIDmode, /* V8SI */
867 : : E_VOIDmode, /* V4DI */
868 : : E_VOIDmode, /* V2TI */
869 : : E_VOIDmode, /* V64QI */
870 : : E_VOIDmode, /* V32HI */
871 : : E_VOIDmode, /* V16SI */
872 : : E_VOIDmode, /* V8DI */
873 : : E_VOIDmode, /* V4TI */
874 : : E_VOIDmode, /* V128QI */
875 : : E_VOIDmode, /* V64HI */
876 : : E_VOIDmode, /* V32SI */
877 : : E_VOIDmode, /* V16DI */
878 : : E_VOIDmode, /* V8TI */
879 : : E_VOIDmode, /* V2HF */
880 : : E_VOIDmode, /* V2BF */
881 : : E_VOIDmode, /* V4BF */
882 : : E_VOIDmode, /* V4HF */
883 : : E_VOIDmode, /* V2SF */
884 : : E_VOIDmode, /* V6HF */
885 : : E_VOIDmode, /* V8BF */
886 : : E_VOIDmode, /* V8HF */
887 : : E_VOIDmode, /* V4SF */
888 : : E_VOIDmode, /* V2DF */
889 : : E_VOIDmode, /* V16BF */
890 : : E_VOIDmode, /* V16HF */
891 : : E_VOIDmode, /* V8SF */
892 : : E_VOIDmode, /* V4DF */
893 : : E_VOIDmode, /* V2TF */
894 : : E_VOIDmode, /* V32BF */
895 : : E_VOIDmode, /* V32HF */
896 : : E_VOIDmode, /* V16SF */
897 : : E_VOIDmode, /* V8DF */
898 : : E_VOIDmode, /* V4TF */
899 : : E_VOIDmode, /* V64BF */
900 : : E_VOIDmode, /* V64HF */
901 : : E_VOIDmode, /* V32SF */
902 : : E_VOIDmode, /* V16DF */
903 : : E_VOIDmode, /* V8TF */
904 : : };
905 : :
906 : : const unsigned short mode_2xwider[NUM_MACHINE_MODES] =
907 : : {
908 : : E_VOIDmode, /* VOID */
909 : : E_BLKmode, /* BLK */
910 : : E_VOIDmode, /* CC */
911 : : E_VOIDmode, /* CCGC */
912 : : E_VOIDmode, /* CCGOC */
913 : : E_VOIDmode, /* CCNO */
914 : : E_VOIDmode, /* CCGZ */
915 : : E_VOIDmode, /* CCA */
916 : : E_VOIDmode, /* CCC */
917 : : E_VOIDmode, /* CCO */
918 : : E_VOIDmode, /* CCP */
919 : : E_VOIDmode, /* CCS */
920 : : E_VOIDmode, /* CCZ */
921 : : E_VOIDmode, /* CCFP */
922 : : E_VOIDmode, /* BI */
923 : : E_HImode, /* QI */
924 : : E_SImode, /* HI */
925 : : E_DImode, /* SI */
926 : : E_TImode, /* DI */
927 : : E_OImode, /* TI */
928 : : E_XImode, /* OI */
929 : : E_VOIDmode, /* XI */
930 : : E_VOIDmode, /* P2QI */
931 : : E_VOIDmode, /* P2HI */
932 : : E_VOIDmode, /* POI */
933 : : E_HQmode, /* QQ */
934 : : E_SQmode, /* HQ */
935 : : E_DQmode, /* SQ */
936 : : E_TQmode, /* DQ */
937 : : E_VOIDmode, /* TQ */
938 : : E_UHQmode, /* UQQ */
939 : : E_USQmode, /* UHQ */
940 : : E_UDQmode, /* USQ */
941 : : E_UTQmode, /* UDQ */
942 : : E_VOIDmode, /* UTQ */
943 : : E_SAmode, /* HA */
944 : : E_DAmode, /* SA */
945 : : E_TAmode, /* DA */
946 : : E_VOIDmode, /* TA */
947 : : E_USAmode, /* UHA */
948 : : E_UDAmode, /* USA */
949 : : E_UTAmode, /* UDA */
950 : : E_VOIDmode, /* UTA */
951 : : E_SFmode, /* HF */
952 : : E_SFmode, /* BF */
953 : : E_DFmode, /* SF */
954 : : E_TFmode, /* DF */
955 : : E_VOIDmode, /* XF */
956 : : E_VOIDmode, /* TF */
957 : : E_DDmode, /* SD */
958 : : E_TDmode, /* DD */
959 : : E_VOIDmode, /* TD */
960 : : E_CHImode, /* CQI */
961 : : E_CP2HImode, /* CP2QI */
962 : : E_CSImode, /* CHI */
963 : : E_VOIDmode, /* CP2HI */
964 : : E_CDImode, /* CSI */
965 : : E_CTImode, /* CDI */
966 : : E_COImode, /* CTI */
967 : : E_VOIDmode, /* CPOI */
968 : : E_CXImode, /* COI */
969 : : E_VOIDmode, /* CXI */
970 : : E_SCmode, /* BC */
971 : : E_SCmode, /* HC */
972 : : E_DCmode, /* SC */
973 : : E_TCmode, /* DC */
974 : : E_VOIDmode, /* XC */
975 : : E_VOIDmode, /* TC */
976 : : E_V4QImode, /* V2QI */
977 : : E_V8QImode, /* V4QI */
978 : : E_V4HImode, /* V2HI */
979 : : E_V2SImode, /* V1SI */
980 : : E_V16QImode, /* V8QI */
981 : : E_V8HImode, /* V4HI */
982 : : E_V4SImode, /* V2SI */
983 : : E_V2DImode, /* V1DI */
984 : : E_VOIDmode, /* V12QI */
985 : : E_VOIDmode, /* V6HI */
986 : : E_VOIDmode, /* V14QI */
987 : : E_V32QImode, /* V16QI */
988 : : E_V16HImode, /* V8HI */
989 : : E_V8SImode, /* V4SI */
990 : : E_V4DImode, /* V2DI */
991 : : E_V2TImode, /* V1TI */
992 : : E_V64QImode, /* V32QI */
993 : : E_V32HImode, /* V16HI */
994 : : E_V16SImode, /* V8SI */
995 : : E_V8DImode, /* V4DI */
996 : : E_V4TImode, /* V2TI */
997 : : E_V128QImode, /* V64QI */
998 : : E_V64HImode, /* V32HI */
999 : : E_V32SImode, /* V16SI */
1000 : : E_V16DImode, /* V8DI */
1001 : : E_V8TImode, /* V4TI */
1002 : : E_VOIDmode, /* V128QI */
1003 : : E_VOIDmode, /* V64HI */
1004 : : E_VOIDmode, /* V32SI */
1005 : : E_VOIDmode, /* V16DI */
1006 : : E_VOIDmode, /* V8TI */
1007 : : E_V4HFmode, /* V2HF */
1008 : : E_V4BFmode, /* V2BF */
1009 : : E_V8BFmode, /* V4BF */
1010 : : E_V8HFmode, /* V4HF */
1011 : : E_V4SFmode, /* V2SF */
1012 : : E_VOIDmode, /* V6HF */
1013 : : E_V16BFmode, /* V8BF */
1014 : : E_V16HFmode, /* V8HF */
1015 : : E_V8SFmode, /* V4SF */
1016 : : E_V4DFmode, /* V2DF */
1017 : : E_V32BFmode, /* V16BF */
1018 : : E_V32HFmode, /* V16HF */
1019 : : E_V16SFmode, /* V8SF */
1020 : : E_V8DFmode, /* V4DF */
1021 : : E_V4TFmode, /* V2TF */
1022 : : E_V64BFmode, /* V32BF */
1023 : : E_V64HFmode, /* V32HF */
1024 : : E_V32SFmode, /* V16SF */
1025 : : E_V16DFmode, /* V8DF */
1026 : : E_V8TFmode, /* V4TF */
1027 : : E_VOIDmode, /* V64BF */
1028 : : E_VOIDmode, /* V64HF */
1029 : : E_VOIDmode, /* V32SF */
1030 : : E_VOIDmode, /* V16DF */
1031 : : E_VOIDmode, /* V8TF */
1032 : : };
1033 : :
1034 : : const unsigned short mode_complex[NUM_MACHINE_MODES] =
1035 : : {
1036 : : E_VOIDmode, /* VOID */
1037 : : E_VOIDmode, /* BLK */
1038 : : E_VOIDmode, /* CC */
1039 : : E_VOIDmode, /* CCGC */
1040 : : E_VOIDmode, /* CCGOC */
1041 : : E_VOIDmode, /* CCNO */
1042 : : E_VOIDmode, /* CCGZ */
1043 : : E_VOIDmode, /* CCA */
1044 : : E_VOIDmode, /* CCC */
1045 : : E_VOIDmode, /* CCO */
1046 : : E_VOIDmode, /* CCP */
1047 : : E_VOIDmode, /* CCS */
1048 : : E_VOIDmode, /* CCZ */
1049 : : E_VOIDmode, /* CCFP */
1050 : : E_VOIDmode, /* BI */
1051 : : E_CQImode, /* QI */
1052 : : E_CHImode, /* HI */
1053 : : E_CSImode, /* SI */
1054 : : E_CDImode, /* DI */
1055 : : E_CTImode, /* TI */
1056 : : E_COImode, /* OI */
1057 : : E_CXImode, /* XI */
1058 : : E_CP2QImode, /* P2QI */
1059 : : E_CP2HImode, /* P2HI */
1060 : : E_CPOImode, /* POI */
1061 : : E_VOIDmode, /* QQ */
1062 : : E_VOIDmode, /* HQ */
1063 : : E_VOIDmode, /* SQ */
1064 : : E_VOIDmode, /* DQ */
1065 : : E_VOIDmode, /* TQ */
1066 : : E_VOIDmode, /* UQQ */
1067 : : E_VOIDmode, /* UHQ */
1068 : : E_VOIDmode, /* USQ */
1069 : : E_VOIDmode, /* UDQ */
1070 : : E_VOIDmode, /* UTQ */
1071 : : E_VOIDmode, /* HA */
1072 : : E_VOIDmode, /* SA */
1073 : : E_VOIDmode, /* DA */
1074 : : E_VOIDmode, /* TA */
1075 : : E_VOIDmode, /* UHA */
1076 : : E_VOIDmode, /* USA */
1077 : : E_VOIDmode, /* UDA */
1078 : : E_VOIDmode, /* UTA */
1079 : : E_HCmode, /* HF */
1080 : : E_BCmode, /* BF */
1081 : : E_SCmode, /* SF */
1082 : : E_DCmode, /* DF */
1083 : : E_XCmode, /* XF */
1084 : : E_TCmode, /* TF */
1085 : : E_VOIDmode, /* SD */
1086 : : E_VOIDmode, /* DD */
1087 : : E_VOIDmode, /* TD */
1088 : : E_VOIDmode, /* CQI */
1089 : : E_VOIDmode, /* CP2QI */
1090 : : E_VOIDmode, /* CHI */
1091 : : E_VOIDmode, /* CP2HI */
1092 : : E_VOIDmode, /* CSI */
1093 : : E_VOIDmode, /* CDI */
1094 : : E_VOIDmode, /* CTI */
1095 : : E_VOIDmode, /* CPOI */
1096 : : E_VOIDmode, /* COI */
1097 : : E_VOIDmode, /* CXI */
1098 : : E_VOIDmode, /* BC */
1099 : : E_VOIDmode, /* HC */
1100 : : E_VOIDmode, /* SC */
1101 : : E_VOIDmode, /* DC */
1102 : : E_VOIDmode, /* XC */
1103 : : E_VOIDmode, /* TC */
1104 : : E_VOIDmode, /* V2QI */
1105 : : E_VOIDmode, /* V4QI */
1106 : : E_VOIDmode, /* V2HI */
1107 : : E_VOIDmode, /* V1SI */
1108 : : E_VOIDmode, /* V8QI */
1109 : : E_VOIDmode, /* V4HI */
1110 : : E_VOIDmode, /* V2SI */
1111 : : E_VOIDmode, /* V1DI */
1112 : : E_VOIDmode, /* V12QI */
1113 : : E_VOIDmode, /* V6HI */
1114 : : E_VOIDmode, /* V14QI */
1115 : : E_VOIDmode, /* V16QI */
1116 : : E_VOIDmode, /* V8HI */
1117 : : E_VOIDmode, /* V4SI */
1118 : : E_VOIDmode, /* V2DI */
1119 : : E_VOIDmode, /* V1TI */
1120 : : E_VOIDmode, /* V32QI */
1121 : : E_VOIDmode, /* V16HI */
1122 : : E_VOIDmode, /* V8SI */
1123 : : E_VOIDmode, /* V4DI */
1124 : : E_VOIDmode, /* V2TI */
1125 : : E_VOIDmode, /* V64QI */
1126 : : E_VOIDmode, /* V32HI */
1127 : : E_VOIDmode, /* V16SI */
1128 : : E_VOIDmode, /* V8DI */
1129 : : E_VOIDmode, /* V4TI */
1130 : : E_VOIDmode, /* V128QI */
1131 : : E_VOIDmode, /* V64HI */
1132 : : E_VOIDmode, /* V32SI */
1133 : : E_VOIDmode, /* V16DI */
1134 : : E_VOIDmode, /* V8TI */
1135 : : E_VOIDmode, /* V2HF */
1136 : : E_VOIDmode, /* V2BF */
1137 : : E_VOIDmode, /* V4BF */
1138 : : E_VOIDmode, /* V4HF */
1139 : : E_VOIDmode, /* V2SF */
1140 : : E_VOIDmode, /* V6HF */
1141 : : E_VOIDmode, /* V8BF */
1142 : : E_VOIDmode, /* V8HF */
1143 : : E_VOIDmode, /* V4SF */
1144 : : E_VOIDmode, /* V2DF */
1145 : : E_VOIDmode, /* V16BF */
1146 : : E_VOIDmode, /* V16HF */
1147 : : E_VOIDmode, /* V8SF */
1148 : : E_VOIDmode, /* V4DF */
1149 : : E_VOIDmode, /* V2TF */
1150 : : E_VOIDmode, /* V32BF */
1151 : : E_VOIDmode, /* V32HF */
1152 : : E_VOIDmode, /* V16SF */
1153 : : E_VOIDmode, /* V8DF */
1154 : : E_VOIDmode, /* V4TF */
1155 : : E_VOIDmode, /* V64BF */
1156 : : E_VOIDmode, /* V64HF */
1157 : : E_VOIDmode, /* V32SF */
1158 : : E_VOIDmode, /* V16DF */
1159 : : E_VOIDmode, /* V8TF */
1160 : : };
1161 : :
1162 : : const unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES] =
1163 : : {
1164 : : #define MODE_MASK(m) \
1165 : : ((m) >= HOST_BITS_PER_WIDE_INT) \
1166 : : ? HOST_WIDE_INT_M1U \
1167 : : : (HOST_WIDE_INT_1U << (m)) - 1
1168 : :
1169 : : MODE_MASK (0), /* VOID */
1170 : : MODE_MASK (0), /* BLK */
1171 : : MODE_MASK (4*BITS_PER_UNIT), /* CC */
1172 : : MODE_MASK (4*BITS_PER_UNIT), /* CCGC */
1173 : : MODE_MASK (4*BITS_PER_UNIT), /* CCGOC */
1174 : : MODE_MASK (4*BITS_PER_UNIT), /* CCNO */
1175 : : MODE_MASK (4*BITS_PER_UNIT), /* CCGZ */
1176 : : MODE_MASK (4*BITS_PER_UNIT), /* CCA */
1177 : : MODE_MASK (4*BITS_PER_UNIT), /* CCC */
1178 : : MODE_MASK (4*BITS_PER_UNIT), /* CCO */
1179 : : MODE_MASK (4*BITS_PER_UNIT), /* CCP */
1180 : : MODE_MASK (4*BITS_PER_UNIT), /* CCS */
1181 : : MODE_MASK (4*BITS_PER_UNIT), /* CCZ */
1182 : : MODE_MASK (4*BITS_PER_UNIT), /* CCFP */
1183 : : MODE_MASK (1), /* BI */
1184 : : MODE_MASK (1*BITS_PER_UNIT), /* QI */
1185 : : MODE_MASK (2*BITS_PER_UNIT), /* HI */
1186 : : MODE_MASK (4*BITS_PER_UNIT), /* SI */
1187 : : MODE_MASK (8*BITS_PER_UNIT), /* DI */
1188 : : MODE_MASK (16*BITS_PER_UNIT), /* TI */
1189 : : MODE_MASK (32*BITS_PER_UNIT), /* OI */
1190 : : MODE_MASK (64*BITS_PER_UNIT), /* XI */
1191 : : MODE_MASK (16), /* P2QI */
1192 : : MODE_MASK (32), /* P2HI */
1193 : : MODE_MASK (160), /* POI */
1194 : : MODE_MASK (1*BITS_PER_UNIT), /* QQ */
1195 : : MODE_MASK (2*BITS_PER_UNIT), /* HQ */
1196 : : MODE_MASK (4*BITS_PER_UNIT), /* SQ */
1197 : : MODE_MASK (8*BITS_PER_UNIT), /* DQ */
1198 : : MODE_MASK (16*BITS_PER_UNIT), /* TQ */
1199 : : MODE_MASK (1*BITS_PER_UNIT), /* UQQ */
1200 : : MODE_MASK (2*BITS_PER_UNIT), /* UHQ */
1201 : : MODE_MASK (4*BITS_PER_UNIT), /* USQ */
1202 : : MODE_MASK (8*BITS_PER_UNIT), /* UDQ */
1203 : : MODE_MASK (16*BITS_PER_UNIT), /* UTQ */
1204 : : MODE_MASK (2*BITS_PER_UNIT), /* HA */
1205 : : MODE_MASK (4*BITS_PER_UNIT), /* SA */
1206 : : MODE_MASK (8*BITS_PER_UNIT), /* DA */
1207 : : MODE_MASK (16*BITS_PER_UNIT), /* TA */
1208 : : MODE_MASK (2*BITS_PER_UNIT), /* UHA */
1209 : : MODE_MASK (4*BITS_PER_UNIT), /* USA */
1210 : : MODE_MASK (8*BITS_PER_UNIT), /* UDA */
1211 : : MODE_MASK (16*BITS_PER_UNIT), /* UTA */
1212 : : MODE_MASK (2*BITS_PER_UNIT), /* HF */
1213 : : MODE_MASK (2*BITS_PER_UNIT), /* BF */
1214 : : MODE_MASK (4*BITS_PER_UNIT), /* SF */
1215 : : MODE_MASK (8*BITS_PER_UNIT), /* DF */
1216 : : MODE_MASK (80), /* XF */
1217 : : MODE_MASK (16*BITS_PER_UNIT), /* TF */
1218 : : MODE_MASK (4*BITS_PER_UNIT), /* SD */
1219 : : MODE_MASK (8*BITS_PER_UNIT), /* DD */
1220 : : MODE_MASK (16*BITS_PER_UNIT), /* TD */
1221 : : MODE_MASK (2*BITS_PER_UNIT), /* CQI */
1222 : : MODE_MASK (32), /* CP2QI */
1223 : : MODE_MASK (4*BITS_PER_UNIT), /* CHI */
1224 : : MODE_MASK (64), /* CP2HI */
1225 : : MODE_MASK (8*BITS_PER_UNIT), /* CSI */
1226 : : MODE_MASK (16*BITS_PER_UNIT), /* CDI */
1227 : : MODE_MASK (32*BITS_PER_UNIT), /* CTI */
1228 : : MODE_MASK (320), /* CPOI */
1229 : : MODE_MASK (64*BITS_PER_UNIT), /* COI */
1230 : : MODE_MASK (128*BITS_PER_UNIT), /* CXI */
1231 : : MODE_MASK (4*BITS_PER_UNIT), /* BC */
1232 : : MODE_MASK (4*BITS_PER_UNIT), /* HC */
1233 : : MODE_MASK (8*BITS_PER_UNIT), /* SC */
1234 : : MODE_MASK (16*BITS_PER_UNIT), /* DC */
1235 : : MODE_MASK (160), /* XC */
1236 : : MODE_MASK (32*BITS_PER_UNIT), /* TC */
1237 : : MODE_MASK (2*BITS_PER_UNIT), /* V2QI */
1238 : : MODE_MASK (4*BITS_PER_UNIT), /* V4QI */
1239 : : MODE_MASK (4*BITS_PER_UNIT), /* V2HI */
1240 : : MODE_MASK (4*BITS_PER_UNIT), /* V1SI */
1241 : : MODE_MASK (8*BITS_PER_UNIT), /* V8QI */
1242 : : MODE_MASK (8*BITS_PER_UNIT), /* V4HI */
1243 : : MODE_MASK (8*BITS_PER_UNIT), /* V2SI */
1244 : : MODE_MASK (8*BITS_PER_UNIT), /* V1DI */
1245 : : MODE_MASK (12*BITS_PER_UNIT), /* V12QI */
1246 : : MODE_MASK (12*BITS_PER_UNIT), /* V6HI */
1247 : : MODE_MASK (14*BITS_PER_UNIT), /* V14QI */
1248 : : MODE_MASK (16*BITS_PER_UNIT), /* V16QI */
1249 : : MODE_MASK (16*BITS_PER_UNIT), /* V8HI */
1250 : : MODE_MASK (16*BITS_PER_UNIT), /* V4SI */
1251 : : MODE_MASK (16*BITS_PER_UNIT), /* V2DI */
1252 : : MODE_MASK (16*BITS_PER_UNIT), /* V1TI */
1253 : : MODE_MASK (32*BITS_PER_UNIT), /* V32QI */
1254 : : MODE_MASK (32*BITS_PER_UNIT), /* V16HI */
1255 : : MODE_MASK (32*BITS_PER_UNIT), /* V8SI */
1256 : : MODE_MASK (32*BITS_PER_UNIT), /* V4DI */
1257 : : MODE_MASK (32*BITS_PER_UNIT), /* V2TI */
1258 : : MODE_MASK (64*BITS_PER_UNIT), /* V64QI */
1259 : : MODE_MASK (64*BITS_PER_UNIT), /* V32HI */
1260 : : MODE_MASK (64*BITS_PER_UNIT), /* V16SI */
1261 : : MODE_MASK (64*BITS_PER_UNIT), /* V8DI */
1262 : : MODE_MASK (64*BITS_PER_UNIT), /* V4TI */
1263 : : MODE_MASK (128*BITS_PER_UNIT), /* V128QI */
1264 : : MODE_MASK (128*BITS_PER_UNIT), /* V64HI */
1265 : : MODE_MASK (128*BITS_PER_UNIT), /* V32SI */
1266 : : MODE_MASK (128*BITS_PER_UNIT), /* V16DI */
1267 : : MODE_MASK (128*BITS_PER_UNIT), /* V8TI */
1268 : : MODE_MASK (4*BITS_PER_UNIT), /* V2HF */
1269 : : MODE_MASK (4*BITS_PER_UNIT), /* V2BF */
1270 : : MODE_MASK (8*BITS_PER_UNIT), /* V4BF */
1271 : : MODE_MASK (8*BITS_PER_UNIT), /* V4HF */
1272 : : MODE_MASK (8*BITS_PER_UNIT), /* V2SF */
1273 : : MODE_MASK (12*BITS_PER_UNIT), /* V6HF */
1274 : : MODE_MASK (16*BITS_PER_UNIT), /* V8BF */
1275 : : MODE_MASK (16*BITS_PER_UNIT), /* V8HF */
1276 : : MODE_MASK (16*BITS_PER_UNIT), /* V4SF */
1277 : : MODE_MASK (16*BITS_PER_UNIT), /* V2DF */
1278 : : MODE_MASK (32*BITS_PER_UNIT), /* V16BF */
1279 : : MODE_MASK (32*BITS_PER_UNIT), /* V16HF */
1280 : : MODE_MASK (32*BITS_PER_UNIT), /* V8SF */
1281 : : MODE_MASK (32*BITS_PER_UNIT), /* V4DF */
1282 : : MODE_MASK (32*BITS_PER_UNIT), /* V2TF */
1283 : : MODE_MASK (64*BITS_PER_UNIT), /* V32BF */
1284 : : MODE_MASK (64*BITS_PER_UNIT), /* V32HF */
1285 : : MODE_MASK (64*BITS_PER_UNIT), /* V16SF */
1286 : : MODE_MASK (64*BITS_PER_UNIT), /* V8DF */
1287 : : MODE_MASK (64*BITS_PER_UNIT), /* V4TF */
1288 : : MODE_MASK (128*BITS_PER_UNIT), /* V64BF */
1289 : : MODE_MASK (128*BITS_PER_UNIT), /* V64HF */
1290 : : MODE_MASK (128*BITS_PER_UNIT), /* V32SF */
1291 : : MODE_MASK (128*BITS_PER_UNIT), /* V16DF */
1292 : : MODE_MASK (128*BITS_PER_UNIT), /* V8TF */
1293 : : #undef MODE_MASK
1294 : : };
1295 : :
1296 : : const unsigned short mode_inner[NUM_MACHINE_MODES] =
1297 : : {
1298 : : E_VOIDmode, /* VOID */
1299 : : E_BLKmode, /* BLK */
1300 : : E_CCmode, /* CC */
1301 : : E_CCGCmode, /* CCGC */
1302 : : E_CCGOCmode, /* CCGOC */
1303 : : E_CCNOmode, /* CCNO */
1304 : : E_CCGZmode, /* CCGZ */
1305 : : E_CCAmode, /* CCA */
1306 : : E_CCCmode, /* CCC */
1307 : : E_CCOmode, /* CCO */
1308 : : E_CCPmode, /* CCP */
1309 : : E_CCSmode, /* CCS */
1310 : : E_CCZmode, /* CCZ */
1311 : : E_CCFPmode, /* CCFP */
1312 : : E_BImode, /* BI */
1313 : : E_QImode, /* QI */
1314 : : E_HImode, /* HI */
1315 : : E_SImode, /* SI */
1316 : : E_DImode, /* DI */
1317 : : E_TImode, /* TI */
1318 : : E_OImode, /* OI */
1319 : : E_XImode, /* XI */
1320 : : E_P2QImode, /* P2QI */
1321 : : E_P2HImode, /* P2HI */
1322 : : E_POImode, /* POI */
1323 : : E_QQmode, /* QQ */
1324 : : E_HQmode, /* HQ */
1325 : : E_SQmode, /* SQ */
1326 : : E_DQmode, /* DQ */
1327 : : E_TQmode, /* TQ */
1328 : : E_UQQmode, /* UQQ */
1329 : : E_UHQmode, /* UHQ */
1330 : : E_USQmode, /* USQ */
1331 : : E_UDQmode, /* UDQ */
1332 : : E_UTQmode, /* UTQ */
1333 : : E_HAmode, /* HA */
1334 : : E_SAmode, /* SA */
1335 : : E_DAmode, /* DA */
1336 : : E_TAmode, /* TA */
1337 : : E_UHAmode, /* UHA */
1338 : : E_USAmode, /* USA */
1339 : : E_UDAmode, /* UDA */
1340 : : E_UTAmode, /* UTA */
1341 : : E_HFmode, /* HF */
1342 : : E_BFmode, /* BF */
1343 : : E_SFmode, /* SF */
1344 : : E_DFmode, /* DF */
1345 : : E_XFmode, /* XF */
1346 : : E_TFmode, /* TF */
1347 : : E_SDmode, /* SD */
1348 : : E_DDmode, /* DD */
1349 : : E_TDmode, /* TD */
1350 : : E_QImode, /* CQI */
1351 : : E_P2QImode, /* CP2QI */
1352 : : E_HImode, /* CHI */
1353 : : E_P2HImode, /* CP2HI */
1354 : : E_SImode, /* CSI */
1355 : : E_DImode, /* CDI */
1356 : : E_TImode, /* CTI */
1357 : : E_POImode, /* CPOI */
1358 : : E_OImode, /* COI */
1359 : : E_XImode, /* CXI */
1360 : : E_BFmode, /* BC */
1361 : : E_HFmode, /* HC */
1362 : : E_SFmode, /* SC */
1363 : : E_DFmode, /* DC */
1364 : : E_XFmode, /* XC */
1365 : : E_TFmode, /* TC */
1366 : : E_QImode, /* V2QI */
1367 : : E_QImode, /* V4QI */
1368 : : E_HImode, /* V2HI */
1369 : : E_SImode, /* V1SI */
1370 : : E_QImode, /* V8QI */
1371 : : E_HImode, /* V4HI */
1372 : : E_SImode, /* V2SI */
1373 : : E_DImode, /* V1DI */
1374 : : E_QImode, /* V12QI */
1375 : : E_HImode, /* V6HI */
1376 : : E_QImode, /* V14QI */
1377 : : E_QImode, /* V16QI */
1378 : : E_HImode, /* V8HI */
1379 : : E_SImode, /* V4SI */
1380 : : E_DImode, /* V2DI */
1381 : : E_TImode, /* V1TI */
1382 : : E_QImode, /* V32QI */
1383 : : E_HImode, /* V16HI */
1384 : : E_SImode, /* V8SI */
1385 : : E_DImode, /* V4DI */
1386 : : E_TImode, /* V2TI */
1387 : : E_QImode, /* V64QI */
1388 : : E_HImode, /* V32HI */
1389 : : E_SImode, /* V16SI */
1390 : : E_DImode, /* V8DI */
1391 : : E_TImode, /* V4TI */
1392 : : E_QImode, /* V128QI */
1393 : : E_HImode, /* V64HI */
1394 : : E_SImode, /* V32SI */
1395 : : E_DImode, /* V16DI */
1396 : : E_TImode, /* V8TI */
1397 : : E_HFmode, /* V2HF */
1398 : : E_BFmode, /* V2BF */
1399 : : E_BFmode, /* V4BF */
1400 : : E_HFmode, /* V4HF */
1401 : : E_SFmode, /* V2SF */
1402 : : E_HFmode, /* V6HF */
1403 : : E_BFmode, /* V8BF */
1404 : : E_HFmode, /* V8HF */
1405 : : E_SFmode, /* V4SF */
1406 : : E_DFmode, /* V2DF */
1407 : : E_BFmode, /* V16BF */
1408 : : E_HFmode, /* V16HF */
1409 : : E_SFmode, /* V8SF */
1410 : : E_DFmode, /* V4DF */
1411 : : E_TFmode, /* V2TF */
1412 : : E_BFmode, /* V32BF */
1413 : : E_HFmode, /* V32HF */
1414 : : E_SFmode, /* V16SF */
1415 : : E_DFmode, /* V8DF */
1416 : : E_TFmode, /* V4TF */
1417 : : E_BFmode, /* V64BF */
1418 : : E_HFmode, /* V64HF */
1419 : : E_SFmode, /* V32SF */
1420 : : E_DFmode, /* V16DF */
1421 : : E_TFmode, /* V8TF */
1422 : : };
1423 : :
1424 : : unsigned char mode_unit_size[NUM_MACHINE_MODES] =
1425 : : {
1426 : : 0, /* VOID */
1427 : : 0, /* BLK */
1428 : : 4, /* CC */
1429 : : 4, /* CCGC */
1430 : : 4, /* CCGOC */
1431 : : 4, /* CCNO */
1432 : : 4, /* CCGZ */
1433 : : 4, /* CCA */
1434 : : 4, /* CCC */
1435 : : 4, /* CCO */
1436 : : 4, /* CCP */
1437 : : 4, /* CCS */
1438 : : 4, /* CCZ */
1439 : : 4, /* CCFP */
1440 : : 1, /* BI */
1441 : : 1, /* QI */
1442 : : 2, /* HI */
1443 : : 4, /* SI */
1444 : : 8, /* DI */
1445 : : 16, /* TI */
1446 : : 32, /* OI */
1447 : : 64, /* XI */
1448 : : 2, /* P2QI */
1449 : : 4, /* P2HI */
1450 : : 32, /* POI */
1451 : : 1, /* QQ */
1452 : : 2, /* HQ */
1453 : : 4, /* SQ */
1454 : : 8, /* DQ */
1455 : : 16, /* TQ */
1456 : : 1, /* UQQ */
1457 : : 2, /* UHQ */
1458 : : 4, /* USQ */
1459 : : 8, /* UDQ */
1460 : : 16, /* UTQ */
1461 : : 2, /* HA */
1462 : : 4, /* SA */
1463 : : 8, /* DA */
1464 : : 16, /* TA */
1465 : : 2, /* UHA */
1466 : : 4, /* USA */
1467 : : 8, /* UDA */
1468 : : 16, /* UTA */
1469 : : 2, /* HF */
1470 : : 2, /* BF */
1471 : : 4, /* SF */
1472 : : 8, /* DF */
1473 : : 12, /* XF */
1474 : : 16, /* TF */
1475 : : 4, /* SD */
1476 : : 8, /* DD */
1477 : : 16, /* TD */
1478 : : 1, /* CQI */
1479 : : 2, /* CP2QI */
1480 : : 2, /* CHI */
1481 : : 4, /* CP2HI */
1482 : : 4, /* CSI */
1483 : : 8, /* CDI */
1484 : : 16, /* CTI */
1485 : : 32, /* CPOI */
1486 : : 32, /* COI */
1487 : : 64, /* CXI */
1488 : : 2, /* BC */
1489 : : 2, /* HC */
1490 : : 4, /* SC */
1491 : : 8, /* DC */
1492 : : 12, /* XC */
1493 : : 16, /* TC */
1494 : : 1, /* V2QI */
1495 : : 1, /* V4QI */
1496 : : 2, /* V2HI */
1497 : : 4, /* V1SI */
1498 : : 1, /* V8QI */
1499 : : 2, /* V4HI */
1500 : : 4, /* V2SI */
1501 : : 8, /* V1DI */
1502 : : 1, /* V12QI */
1503 : : 2, /* V6HI */
1504 : : 1, /* V14QI */
1505 : : 1, /* V16QI */
1506 : : 2, /* V8HI */
1507 : : 4, /* V4SI */
1508 : : 8, /* V2DI */
1509 : : 16, /* V1TI */
1510 : : 1, /* V32QI */
1511 : : 2, /* V16HI */
1512 : : 4, /* V8SI */
1513 : : 8, /* V4DI */
1514 : : 16, /* V2TI */
1515 : : 1, /* V64QI */
1516 : : 2, /* V32HI */
1517 : : 4, /* V16SI */
1518 : : 8, /* V8DI */
1519 : : 16, /* V4TI */
1520 : : 1, /* V128QI */
1521 : : 2, /* V64HI */
1522 : : 4, /* V32SI */
1523 : : 8, /* V16DI */
1524 : : 16, /* V8TI */
1525 : : 2, /* V2HF */
1526 : : 2, /* V2BF */
1527 : : 2, /* V4BF */
1528 : : 2, /* V4HF */
1529 : : 4, /* V2SF */
1530 : : 2, /* V6HF */
1531 : : 2, /* V8BF */
1532 : : 2, /* V8HF */
1533 : : 4, /* V4SF */
1534 : : 8, /* V2DF */
1535 : : 2, /* V16BF */
1536 : : 2, /* V16HF */
1537 : : 4, /* V8SF */
1538 : : 8, /* V4DF */
1539 : : 16, /* V2TF */
1540 : : 2, /* V32BF */
1541 : : 2, /* V32HF */
1542 : : 4, /* V16SF */
1543 : : 8, /* V8DF */
1544 : : 16, /* V4TF */
1545 : : 2, /* V64BF */
1546 : : 2, /* V64HF */
1547 : : 4, /* V32SF */
1548 : : 8, /* V16DF */
1549 : : 16, /* V8TF */
1550 : : };
1551 : :
1552 : : const unsigned short mode_unit_precision[NUM_MACHINE_MODES] =
1553 : : {
1554 : : 0, /* VOID */
1555 : : 0, /* BLK */
1556 : : 4*BITS_PER_UNIT, /* CC */
1557 : : 4*BITS_PER_UNIT, /* CCGC */
1558 : : 4*BITS_PER_UNIT, /* CCGOC */
1559 : : 4*BITS_PER_UNIT, /* CCNO */
1560 : : 4*BITS_PER_UNIT, /* CCGZ */
1561 : : 4*BITS_PER_UNIT, /* CCA */
1562 : : 4*BITS_PER_UNIT, /* CCC */
1563 : : 4*BITS_PER_UNIT, /* CCO */
1564 : : 4*BITS_PER_UNIT, /* CCP */
1565 : : 4*BITS_PER_UNIT, /* CCS */
1566 : : 4*BITS_PER_UNIT, /* CCZ */
1567 : : 4*BITS_PER_UNIT, /* CCFP */
1568 : : 1, /* BI */
1569 : : 1*BITS_PER_UNIT, /* QI */
1570 : : 2*BITS_PER_UNIT, /* HI */
1571 : : 4*BITS_PER_UNIT, /* SI */
1572 : : 8*BITS_PER_UNIT, /* DI */
1573 : : 16*BITS_PER_UNIT, /* TI */
1574 : : 32*BITS_PER_UNIT, /* OI */
1575 : : 64*BITS_PER_UNIT, /* XI */
1576 : : 16, /* P2QI */
1577 : : 32, /* P2HI */
1578 : : 160, /* POI */
1579 : : 1*BITS_PER_UNIT, /* QQ */
1580 : : 2*BITS_PER_UNIT, /* HQ */
1581 : : 4*BITS_PER_UNIT, /* SQ */
1582 : : 8*BITS_PER_UNIT, /* DQ */
1583 : : 16*BITS_PER_UNIT, /* TQ */
1584 : : 1*BITS_PER_UNIT, /* UQQ */
1585 : : 2*BITS_PER_UNIT, /* UHQ */
1586 : : 4*BITS_PER_UNIT, /* USQ */
1587 : : 8*BITS_PER_UNIT, /* UDQ */
1588 : : 16*BITS_PER_UNIT, /* UTQ */
1589 : : 2*BITS_PER_UNIT, /* HA */
1590 : : 4*BITS_PER_UNIT, /* SA */
1591 : : 8*BITS_PER_UNIT, /* DA */
1592 : : 16*BITS_PER_UNIT, /* TA */
1593 : : 2*BITS_PER_UNIT, /* UHA */
1594 : : 4*BITS_PER_UNIT, /* USA */
1595 : : 8*BITS_PER_UNIT, /* UDA */
1596 : : 16*BITS_PER_UNIT, /* UTA */
1597 : : 2*BITS_PER_UNIT, /* HF */
1598 : : 2*BITS_PER_UNIT, /* BF */
1599 : : 4*BITS_PER_UNIT, /* SF */
1600 : : 8*BITS_PER_UNIT, /* DF */
1601 : : 80, /* XF */
1602 : : 16*BITS_PER_UNIT, /* TF */
1603 : : 4*BITS_PER_UNIT, /* SD */
1604 : : 8*BITS_PER_UNIT, /* DD */
1605 : : 16*BITS_PER_UNIT, /* TD */
1606 : : 1*BITS_PER_UNIT, /* CQI */
1607 : : 16, /* CP2QI */
1608 : : 2*BITS_PER_UNIT, /* CHI */
1609 : : 32, /* CP2HI */
1610 : : 4*BITS_PER_UNIT, /* CSI */
1611 : : 8*BITS_PER_UNIT, /* CDI */
1612 : : 16*BITS_PER_UNIT, /* CTI */
1613 : : 160, /* CPOI */
1614 : : 32*BITS_PER_UNIT, /* COI */
1615 : : 64*BITS_PER_UNIT, /* CXI */
1616 : : 2*BITS_PER_UNIT, /* BC */
1617 : : 2*BITS_PER_UNIT, /* HC */
1618 : : 4*BITS_PER_UNIT, /* SC */
1619 : : 8*BITS_PER_UNIT, /* DC */
1620 : : 80, /* XC */
1621 : : 16*BITS_PER_UNIT, /* TC */
1622 : : 1*BITS_PER_UNIT, /* V2QI */
1623 : : 1*BITS_PER_UNIT, /* V4QI */
1624 : : 2*BITS_PER_UNIT, /* V2HI */
1625 : : 4*BITS_PER_UNIT, /* V1SI */
1626 : : 1*BITS_PER_UNIT, /* V8QI */
1627 : : 2*BITS_PER_UNIT, /* V4HI */
1628 : : 4*BITS_PER_UNIT, /* V2SI */
1629 : : 8*BITS_PER_UNIT, /* V1DI */
1630 : : 1*BITS_PER_UNIT, /* V12QI */
1631 : : 2*BITS_PER_UNIT, /* V6HI */
1632 : : 1*BITS_PER_UNIT, /* V14QI */
1633 : : 1*BITS_PER_UNIT, /* V16QI */
1634 : : 2*BITS_PER_UNIT, /* V8HI */
1635 : : 4*BITS_PER_UNIT, /* V4SI */
1636 : : 8*BITS_PER_UNIT, /* V2DI */
1637 : : 16*BITS_PER_UNIT, /* V1TI */
1638 : : 1*BITS_PER_UNIT, /* V32QI */
1639 : : 2*BITS_PER_UNIT, /* V16HI */
1640 : : 4*BITS_PER_UNIT, /* V8SI */
1641 : : 8*BITS_PER_UNIT, /* V4DI */
1642 : : 16*BITS_PER_UNIT, /* V2TI */
1643 : : 1*BITS_PER_UNIT, /* V64QI */
1644 : : 2*BITS_PER_UNIT, /* V32HI */
1645 : : 4*BITS_PER_UNIT, /* V16SI */
1646 : : 8*BITS_PER_UNIT, /* V8DI */
1647 : : 16*BITS_PER_UNIT, /* V4TI */
1648 : : 1*BITS_PER_UNIT, /* V128QI */
1649 : : 2*BITS_PER_UNIT, /* V64HI */
1650 : : 4*BITS_PER_UNIT, /* V32SI */
1651 : : 8*BITS_PER_UNIT, /* V16DI */
1652 : : 16*BITS_PER_UNIT, /* V8TI */
1653 : : 2*BITS_PER_UNIT, /* V2HF */
1654 : : 2*BITS_PER_UNIT, /* V2BF */
1655 : : 2*BITS_PER_UNIT, /* V4BF */
1656 : : 2*BITS_PER_UNIT, /* V4HF */
1657 : : 4*BITS_PER_UNIT, /* V2SF */
1658 : : 2*BITS_PER_UNIT, /* V6HF */
1659 : : 2*BITS_PER_UNIT, /* V8BF */
1660 : : 2*BITS_PER_UNIT, /* V8HF */
1661 : : 4*BITS_PER_UNIT, /* V4SF */
1662 : : 8*BITS_PER_UNIT, /* V2DF */
1663 : : 2*BITS_PER_UNIT, /* V16BF */
1664 : : 2*BITS_PER_UNIT, /* V16HF */
1665 : : 4*BITS_PER_UNIT, /* V8SF */
1666 : : 8*BITS_PER_UNIT, /* V4DF */
1667 : : 16*BITS_PER_UNIT, /* V2TF */
1668 : : 2*BITS_PER_UNIT, /* V32BF */
1669 : : 2*BITS_PER_UNIT, /* V32HF */
1670 : : 4*BITS_PER_UNIT, /* V16SF */
1671 : : 8*BITS_PER_UNIT, /* V8DF */
1672 : : 16*BITS_PER_UNIT, /* V4TF */
1673 : : 2*BITS_PER_UNIT, /* V64BF */
1674 : : 2*BITS_PER_UNIT, /* V64HF */
1675 : : 4*BITS_PER_UNIT, /* V32SF */
1676 : : 8*BITS_PER_UNIT, /* V16DF */
1677 : : 16*BITS_PER_UNIT, /* V8TF */
1678 : : };
1679 : :
1680 : : unsigned short mode_base_align[NUM_MACHINE_MODES] =
1681 : : {
1682 : : 0, /* VOID */
1683 : : 0, /* BLK */
1684 : : 4, /* CC */
1685 : : 4, /* CCGC */
1686 : : 4, /* CCGOC */
1687 : : 4, /* CCNO */
1688 : : 4, /* CCGZ */
1689 : : 4, /* CCA */
1690 : : 4, /* CCC */
1691 : : 4, /* CCO */
1692 : : 4, /* CCP */
1693 : : 4, /* CCS */
1694 : : 4, /* CCZ */
1695 : : 4, /* CCFP */
1696 : : 1, /* BI */
1697 : : 1, /* QI */
1698 : : 2, /* HI */
1699 : : 4, /* SI */
1700 : : 8, /* DI */
1701 : : 16, /* TI */
1702 : : 32, /* OI */
1703 : : 64, /* XI */
1704 : : 2, /* P2QI */
1705 : : 4, /* P2HI */
1706 : : 32, /* POI */
1707 : : 1, /* QQ */
1708 : : 2, /* HQ */
1709 : : 4, /* SQ */
1710 : : 8, /* DQ */
1711 : : 16, /* TQ */
1712 : : 1, /* UQQ */
1713 : : 2, /* UHQ */
1714 : : 4, /* USQ */
1715 : : 8, /* UDQ */
1716 : : 16, /* UTQ */
1717 : : 2, /* HA */
1718 : : 4, /* SA */
1719 : : 8, /* DA */
1720 : : 16, /* TA */
1721 : : 2, /* UHA */
1722 : : 4, /* USA */
1723 : : 8, /* UDA */
1724 : : 16, /* UTA */
1725 : : 2, /* HF */
1726 : : 2, /* BF */
1727 : : 4, /* SF */
1728 : : 8, /* DF */
1729 : : 4, /* XF */
1730 : : 16, /* TF */
1731 : : 4, /* SD */
1732 : : 8, /* DD */
1733 : : 16, /* TD */
1734 : : 1, /* CQI */
1735 : : 2, /* CP2QI */
1736 : : 2, /* CHI */
1737 : : 4, /* CP2HI */
1738 : : 4, /* CSI */
1739 : : 8, /* CDI */
1740 : : 16, /* CTI */
1741 : : 32, /* CPOI */
1742 : : 32, /* COI */
1743 : : 64, /* CXI */
1744 : : 2, /* BC */
1745 : : 2, /* HC */
1746 : : 4, /* SC */
1747 : : 8, /* DC */
1748 : : 4, /* XC */
1749 : : 16, /* TC */
1750 : : 2, /* V2QI */
1751 : : 4, /* V4QI */
1752 : : 4, /* V2HI */
1753 : : 4, /* V1SI */
1754 : : 8, /* V8QI */
1755 : : 8, /* V4HI */
1756 : : 8, /* V2SI */
1757 : : 8, /* V1DI */
1758 : : 4, /* V12QI */
1759 : : 4, /* V6HI */
1760 : : 2, /* V14QI */
1761 : : 16, /* V16QI */
1762 : : 16, /* V8HI */
1763 : : 16, /* V4SI */
1764 : : 16, /* V2DI */
1765 : : 16, /* V1TI */
1766 : : 32, /* V32QI */
1767 : : 32, /* V16HI */
1768 : : 32, /* V8SI */
1769 : : 32, /* V4DI */
1770 : : 32, /* V2TI */
1771 : : 64, /* V64QI */
1772 : : 64, /* V32HI */
1773 : : 64, /* V16SI */
1774 : : 64, /* V8DI */
1775 : : 64, /* V4TI */
1776 : : 128, /* V128QI */
1777 : : 128, /* V64HI */
1778 : : 128, /* V32SI */
1779 : : 128, /* V16DI */
1780 : : 128, /* V8TI */
1781 : : 4, /* V2HF */
1782 : : 4, /* V2BF */
1783 : : 8, /* V4BF */
1784 : : 8, /* V4HF */
1785 : : 8, /* V2SF */
1786 : : 4, /* V6HF */
1787 : : 16, /* V8BF */
1788 : : 16, /* V8HF */
1789 : : 16, /* V4SF */
1790 : : 16, /* V2DF */
1791 : : 32, /* V16BF */
1792 : : 32, /* V16HF */
1793 : : 32, /* V8SF */
1794 : : 32, /* V4DF */
1795 : : 32, /* V2TF */
1796 : : 64, /* V32BF */
1797 : : 64, /* V32HF */
1798 : : 64, /* V16SF */
1799 : : 64, /* V8DF */
1800 : : 64, /* V4TF */
1801 : : 128, /* V64BF */
1802 : : 128, /* V64HF */
1803 : : 128, /* V32SF */
1804 : : 128, /* V16DF */
1805 : : 128, /* V8TF */
1806 : : };
1807 : :
1808 : : const unsigned short class_narrowest_mode[MAX_MODE_CLASS] =
1809 : : {
1810 : : MIN_MODE_RANDOM, /* VOID */
1811 : : MIN_MODE_CC, /* CC */
1812 : : MIN_MODE_INT, /* QI */
1813 : : MIN_MODE_PARTIAL_INT, /* P2QI */
1814 : : MIN_MODE_FRACT, /* QQ */
1815 : : MIN_MODE_UFRACT, /* UQQ */
1816 : : MIN_MODE_ACCUM, /* HA */
1817 : : MIN_MODE_UACCUM, /* UHA */
1818 : : MIN_MODE_FLOAT, /* HF */
1819 : : MIN_MODE_DECIMAL_FLOAT, /* SD */
1820 : : MIN_MODE_COMPLEX_INT, /* CQI */
1821 : : MIN_MODE_COMPLEX_FLOAT, /* BC */
1822 : : MIN_MODE_VECTOR_BOOL, /* VOID */
1823 : : MIN_MODE_VECTOR_INT, /* V2QI */
1824 : : MIN_MODE_VECTOR_FRACT, /* VOID */
1825 : : MIN_MODE_VECTOR_UFRACT, /* VOID */
1826 : : MIN_MODE_VECTOR_ACCUM, /* VOID */
1827 : : MIN_MODE_VECTOR_UACCUM, /* VOID */
1828 : : MIN_MODE_VECTOR_FLOAT, /* V2HF */
1829 : : MIN_MODE_OPAQUE, /* VOID */
1830 : : };
1831 : :
1832 : : const struct real_format *
1833 : : real_format_for_mode[MAX_MODE_FLOAT - MIN_MODE_FLOAT + 1 + MAX_MODE_DECIMAL_FLOAT - MIN_MODE_DECIMAL_FLOAT + 1] =
1834 : : {
1835 : : &ieee_half_format, /* HF */
1836 : : 0, /* BF */
1837 : : &ieee_single_format, /* SF */
1838 : : &ieee_double_format, /* DF */
1839 : : &ieee_extended_intel_96_format, /* XF */
1840 : : &ieee_quad_format, /* TF */
1841 : : &decimal_single_format, /* SD */
1842 : : &decimal_double_format, /* DD */
1843 : : &decimal_quad_format, /* TD */
1844 : : };
1845 : :
1846 : : void
1847 : 285391 : init_adjust_machine_modes (void)
1848 : : {
1849 : 285391 : poly_uint16 ps ATTRIBUTE_UNUSED;
1850 : 285391 : size_t s ATTRIBUTE_UNUSED;
1851 : :
1852 : : /* config/i386/i386-modes.def:37 */
1853 : 292488 : ps = s = TARGET_128BIT_LONG_DOUBLE ? 16 : 12;
1854 : 285391 : mode_unit_size[E_XFmode] = s;
1855 : 285391 : mode_size[E_XFmode] = ps;
1856 : 285391 : mode_base_align[E_XFmode] = known_alignment (ps);
1857 : 285391 : mode_size[E_XCmode] = 2*s;
1858 : 285391 : mode_unit_size[E_XCmode] = s;
1859 : 285391 : mode_base_align[E_XCmode] = s & (~s + 1);
1860 : :
1861 : : /* config/i386/i386-modes.def:38 */
1862 : 285391 : s = TARGET_128BIT_LONG_DOUBLE ? 16 : 4;
1863 : 285391 : mode_base_align[E_XFmode] = s;
1864 : 285391 : mode_base_align[E_XCmode] = s;
1865 : :
1866 : : /* config/i386/i386-modes.def:32 */
1867 : 285391 : REAL_MODE_FORMAT (E_XFmode) = (TARGET_128BIT_LONG_DOUBLE ? &ieee_extended_intel_128_format : TARGET_96_ROUND_53_LONG_DOUBLE ? &ieee_extended_intel_96_round_53_format : &ieee_extended_intel_96_format);
1868 : :
1869 : : /* config/i386/i386-modes.def:28 */
1870 : 285391 : REAL_MODE_FORMAT (E_BFmode) = &arm_bfloat_half_format;
1871 : :
1872 : 285391 : gcc_assert (maybe_ne (mode_size[E_VOIDmode], -1));
1873 : :
1874 : 285391 : gcc_assert (maybe_ne (mode_size[E_BLKmode], -1));
1875 : :
1876 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCmode], -1));
1877 : :
1878 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCGCmode], -1));
1879 : :
1880 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCGOCmode], -1));
1881 : :
1882 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCNOmode], -1));
1883 : :
1884 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCGZmode], -1));
1885 : :
1886 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCAmode], -1));
1887 : :
1888 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCCmode], -1));
1889 : :
1890 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCOmode], -1));
1891 : :
1892 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCPmode], -1));
1893 : :
1894 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCSmode], -1));
1895 : :
1896 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCZmode], -1));
1897 : :
1898 : 285391 : gcc_assert (maybe_ne (mode_size[E_CCFPmode], -1));
1899 : :
1900 : 285391 : gcc_assert (maybe_ne (mode_size[E_BImode], -1));
1901 : :
1902 : 285391 : gcc_assert (maybe_ne (mode_size[E_QImode], -1));
1903 : :
1904 : 285391 : gcc_assert (maybe_ne (mode_size[E_HImode], -1));
1905 : :
1906 : 285391 : gcc_assert (maybe_ne (mode_size[E_SImode], -1));
1907 : :
1908 : 285391 : gcc_assert (maybe_ne (mode_size[E_DImode], -1));
1909 : :
1910 : 285391 : gcc_assert (maybe_ne (mode_size[E_TImode], -1));
1911 : :
1912 : 285391 : gcc_assert (maybe_ne (mode_size[E_OImode], -1));
1913 : :
1914 : 285391 : gcc_assert (maybe_ne (mode_size[E_XImode], -1));
1915 : :
1916 : 285391 : gcc_assert (maybe_ne (mode_size[E_P2QImode], -1));
1917 : :
1918 : 285391 : gcc_assert (maybe_ne (mode_size[E_P2HImode], -1));
1919 : :
1920 : 285391 : gcc_assert (maybe_ne (mode_size[E_POImode], -1));
1921 : :
1922 : 285391 : gcc_assert (maybe_ne (mode_size[E_QQmode], -1));
1923 : :
1924 : 285391 : gcc_assert (maybe_ne (mode_size[E_HQmode], -1));
1925 : :
1926 : 285391 : gcc_assert (maybe_ne (mode_size[E_SQmode], -1));
1927 : :
1928 : 285391 : gcc_assert (maybe_ne (mode_size[E_DQmode], -1));
1929 : :
1930 : 285391 : gcc_assert (maybe_ne (mode_size[E_TQmode], -1));
1931 : :
1932 : 285391 : gcc_assert (maybe_ne (mode_size[E_UQQmode], -1));
1933 : :
1934 : 285391 : gcc_assert (maybe_ne (mode_size[E_UHQmode], -1));
1935 : :
1936 : 285391 : gcc_assert (maybe_ne (mode_size[E_USQmode], -1));
1937 : :
1938 : 285391 : gcc_assert (maybe_ne (mode_size[E_UDQmode], -1));
1939 : :
1940 : 285391 : gcc_assert (maybe_ne (mode_size[E_UTQmode], -1));
1941 : :
1942 : 285391 : gcc_assert (maybe_ne (mode_size[E_HAmode], -1));
1943 : :
1944 : 285391 : gcc_assert (maybe_ne (mode_size[E_SAmode], -1));
1945 : :
1946 : 285391 : gcc_assert (maybe_ne (mode_size[E_DAmode], -1));
1947 : :
1948 : 285391 : gcc_assert (maybe_ne (mode_size[E_TAmode], -1));
1949 : :
1950 : 285391 : gcc_assert (maybe_ne (mode_size[E_UHAmode], -1));
1951 : :
1952 : 285391 : gcc_assert (maybe_ne (mode_size[E_USAmode], -1));
1953 : :
1954 : 285391 : gcc_assert (maybe_ne (mode_size[E_UDAmode], -1));
1955 : :
1956 : 285391 : gcc_assert (maybe_ne (mode_size[E_UTAmode], -1));
1957 : :
1958 : 285391 : gcc_assert (maybe_ne (mode_size[E_HFmode], -1));
1959 : :
1960 : 285391 : gcc_assert (maybe_ne (mode_size[E_BFmode], -1));
1961 : :
1962 : 285391 : gcc_assert (maybe_ne (mode_size[E_SFmode], -1));
1963 : :
1964 : 285391 : gcc_assert (maybe_ne (mode_size[E_DFmode], -1));
1965 : :
1966 : 285391 : gcc_assert (maybe_ne (mode_size[E_XFmode], -1));
1967 : :
1968 : 285391 : gcc_assert (maybe_ne (mode_size[E_TFmode], -1));
1969 : :
1970 : 285391 : gcc_assert (maybe_ne (mode_size[E_SDmode], -1));
1971 : :
1972 : 285391 : gcc_assert (maybe_ne (mode_size[E_DDmode], -1));
1973 : :
1974 : 285391 : gcc_assert (maybe_ne (mode_size[E_TDmode], -1));
1975 : :
1976 : 285391 : gcc_assert (maybe_ne (mode_size[E_CQImode], -1));
1977 : :
1978 : 285391 : gcc_assert (maybe_ne (mode_size[E_CP2QImode], -1));
1979 : :
1980 : 285391 : gcc_assert (maybe_ne (mode_size[E_CHImode], -1));
1981 : :
1982 : 285391 : gcc_assert (maybe_ne (mode_size[E_CP2HImode], -1));
1983 : :
1984 : 285391 : gcc_assert (maybe_ne (mode_size[E_CSImode], -1));
1985 : :
1986 : 285391 : gcc_assert (maybe_ne (mode_size[E_CDImode], -1));
1987 : :
1988 : 285391 : gcc_assert (maybe_ne (mode_size[E_CTImode], -1));
1989 : :
1990 : 285391 : gcc_assert (maybe_ne (mode_size[E_CPOImode], -1));
1991 : :
1992 : 285391 : gcc_assert (maybe_ne (mode_size[E_COImode], -1));
1993 : :
1994 : 285391 : gcc_assert (maybe_ne (mode_size[E_CXImode], -1));
1995 : :
1996 : 285391 : gcc_assert (maybe_ne (mode_size[E_BCmode], -1));
1997 : :
1998 : 285391 : gcc_assert (maybe_ne (mode_size[E_HCmode], -1));
1999 : :
2000 : 285391 : gcc_assert (maybe_ne (mode_size[E_SCmode], -1));
2001 : :
2002 : 285391 : gcc_assert (maybe_ne (mode_size[E_DCmode], -1));
2003 : :
2004 : 285391 : gcc_assert (maybe_ne (mode_size[E_XCmode], -1));
2005 : :
2006 : 285391 : gcc_assert (maybe_ne (mode_size[E_TCmode], -1));
2007 : :
2008 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2QImode], -1));
2009 : :
2010 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4QImode], -1));
2011 : :
2012 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2HImode], -1));
2013 : :
2014 : 285391 : gcc_assert (maybe_ne (mode_size[E_V1SImode], -1));
2015 : :
2016 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8QImode], -1));
2017 : :
2018 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4HImode], -1));
2019 : :
2020 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2SImode], -1));
2021 : :
2022 : 285391 : gcc_assert (maybe_ne (mode_size[E_V1DImode], -1));
2023 : :
2024 : 285391 : gcc_assert (maybe_ne (mode_size[E_V12QImode], -1));
2025 : :
2026 : 285391 : gcc_assert (maybe_ne (mode_size[E_V6HImode], -1));
2027 : :
2028 : 285391 : gcc_assert (maybe_ne (mode_size[E_V14QImode], -1));
2029 : :
2030 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16QImode], -1));
2031 : :
2032 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8HImode], -1));
2033 : :
2034 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4SImode], -1));
2035 : :
2036 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2DImode], -1));
2037 : :
2038 : 285391 : gcc_assert (maybe_ne (mode_size[E_V1TImode], -1));
2039 : :
2040 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32QImode], -1));
2041 : :
2042 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16HImode], -1));
2043 : :
2044 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8SImode], -1));
2045 : :
2046 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4DImode], -1));
2047 : :
2048 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2TImode], -1));
2049 : :
2050 : 285391 : gcc_assert (maybe_ne (mode_size[E_V64QImode], -1));
2051 : :
2052 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32HImode], -1));
2053 : :
2054 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16SImode], -1));
2055 : :
2056 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8DImode], -1));
2057 : :
2058 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4TImode], -1));
2059 : :
2060 : 285391 : gcc_assert (maybe_ne (mode_size[E_V128QImode], -1));
2061 : :
2062 : 285391 : gcc_assert (maybe_ne (mode_size[E_V64HImode], -1));
2063 : :
2064 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32SImode], -1));
2065 : :
2066 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16DImode], -1));
2067 : :
2068 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8TImode], -1));
2069 : :
2070 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2HFmode], -1));
2071 : :
2072 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2BFmode], -1));
2073 : :
2074 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4BFmode], -1));
2075 : :
2076 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4HFmode], -1));
2077 : :
2078 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2SFmode], -1));
2079 : :
2080 : 285391 : gcc_assert (maybe_ne (mode_size[E_V6HFmode], -1));
2081 : :
2082 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8BFmode], -1));
2083 : :
2084 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8HFmode], -1));
2085 : :
2086 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4SFmode], -1));
2087 : :
2088 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2DFmode], -1));
2089 : :
2090 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16BFmode], -1));
2091 : :
2092 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16HFmode], -1));
2093 : :
2094 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8SFmode], -1));
2095 : :
2096 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4DFmode], -1));
2097 : :
2098 : 285391 : gcc_assert (maybe_ne (mode_size[E_V2TFmode], -1));
2099 : :
2100 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32BFmode], -1));
2101 : :
2102 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32HFmode], -1));
2103 : :
2104 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16SFmode], -1));
2105 : :
2106 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8DFmode], -1));
2107 : :
2108 : 285391 : gcc_assert (maybe_ne (mode_size[E_V4TFmode], -1));
2109 : :
2110 : 285391 : gcc_assert (maybe_ne (mode_size[E_V64BFmode], -1));
2111 : :
2112 : 285391 : gcc_assert (maybe_ne (mode_size[E_V64HFmode], -1));
2113 : :
2114 : 285391 : gcc_assert (maybe_ne (mode_size[E_V32SFmode], -1));
2115 : :
2116 : 285391 : gcc_assert (maybe_ne (mode_size[E_V16DFmode], -1));
2117 : :
2118 : 285391 : gcc_assert (maybe_ne (mode_size[E_V8TFmode], -1));
2119 : 285391 : }
2120 : :
2121 : : const unsigned char mode_ibit[NUM_MACHINE_MODES] =
2122 : : {
2123 : : 0, /* VOID */
2124 : : 0, /* BLK */
2125 : : 0, /* CC */
2126 : : 0, /* CCGC */
2127 : : 0, /* CCGOC */
2128 : : 0, /* CCNO */
2129 : : 0, /* CCGZ */
2130 : : 0, /* CCA */
2131 : : 0, /* CCC */
2132 : : 0, /* CCO */
2133 : : 0, /* CCP */
2134 : : 0, /* CCS */
2135 : : 0, /* CCZ */
2136 : : 0, /* CCFP */
2137 : : 0, /* BI */
2138 : : 0, /* QI */
2139 : : 0, /* HI */
2140 : : 0, /* SI */
2141 : : 0, /* DI */
2142 : : 0, /* TI */
2143 : : 0, /* OI */
2144 : : 0, /* XI */
2145 : : 0, /* P2QI */
2146 : : 0, /* P2HI */
2147 : : 0, /* POI */
2148 : : 0, /* QQ */
2149 : : 0, /* HQ */
2150 : : 0, /* SQ */
2151 : : 0, /* DQ */
2152 : : 0, /* TQ */
2153 : : 0, /* UQQ */
2154 : : 0, /* UHQ */
2155 : : 0, /* USQ */
2156 : : 0, /* UDQ */
2157 : : 0, /* UTQ */
2158 : : 8, /* HA */
2159 : : 16, /* SA */
2160 : : 32, /* DA */
2161 : : 64, /* TA */
2162 : : 8, /* UHA */
2163 : : 16, /* USA */
2164 : : 32, /* UDA */
2165 : : 64, /* UTA */
2166 : : 0, /* HF */
2167 : : 0, /* BF */
2168 : : 0, /* SF */
2169 : : 0, /* DF */
2170 : : 0, /* XF */
2171 : : 0, /* TF */
2172 : : 0, /* SD */
2173 : : 0, /* DD */
2174 : : 0, /* TD */
2175 : : 0, /* CQI */
2176 : : 0, /* CP2QI */
2177 : : 0, /* CHI */
2178 : : 0, /* CP2HI */
2179 : : 0, /* CSI */
2180 : : 0, /* CDI */
2181 : : 0, /* CTI */
2182 : : 0, /* CPOI */
2183 : : 0, /* COI */
2184 : : 0, /* CXI */
2185 : : 0, /* BC */
2186 : : 0, /* HC */
2187 : : 0, /* SC */
2188 : : 0, /* DC */
2189 : : 0, /* XC */
2190 : : 0, /* TC */
2191 : : 0, /* V2QI */
2192 : : 0, /* V4QI */
2193 : : 0, /* V2HI */
2194 : : 0, /* V1SI */
2195 : : 0, /* V8QI */
2196 : : 0, /* V4HI */
2197 : : 0, /* V2SI */
2198 : : 0, /* V1DI */
2199 : : 0, /* V12QI */
2200 : : 0, /* V6HI */
2201 : : 0, /* V14QI */
2202 : : 0, /* V16QI */
2203 : : 0, /* V8HI */
2204 : : 0, /* V4SI */
2205 : : 0, /* V2DI */
2206 : : 0, /* V1TI */
2207 : : 0, /* V32QI */
2208 : : 0, /* V16HI */
2209 : : 0, /* V8SI */
2210 : : 0, /* V4DI */
2211 : : 0, /* V2TI */
2212 : : 0, /* V64QI */
2213 : : 0, /* V32HI */
2214 : : 0, /* V16SI */
2215 : : 0, /* V8DI */
2216 : : 0, /* V4TI */
2217 : : 0, /* V128QI */
2218 : : 0, /* V64HI */
2219 : : 0, /* V32SI */
2220 : : 0, /* V16DI */
2221 : : 0, /* V8TI */
2222 : : 0, /* V2HF */
2223 : : 0, /* V2BF */
2224 : : 0, /* V4BF */
2225 : : 0, /* V4HF */
2226 : : 0, /* V2SF */
2227 : : 0, /* V6HF */
2228 : : 0, /* V8BF */
2229 : : 0, /* V8HF */
2230 : : 0, /* V4SF */
2231 : : 0, /* V2DF */
2232 : : 0, /* V16BF */
2233 : : 0, /* V16HF */
2234 : : 0, /* V8SF */
2235 : : 0, /* V4DF */
2236 : : 0, /* V2TF */
2237 : : 0, /* V32BF */
2238 : : 0, /* V32HF */
2239 : : 0, /* V16SF */
2240 : : 0, /* V8DF */
2241 : : 0, /* V4TF */
2242 : : 0, /* V64BF */
2243 : : 0, /* V64HF */
2244 : : 0, /* V32SF */
2245 : : 0, /* V16DF */
2246 : : 0, /* V8TF */
2247 : : };
2248 : :
2249 : : const unsigned char mode_fbit[NUM_MACHINE_MODES] =
2250 : : {
2251 : : 0, /* VOID */
2252 : : 0, /* BLK */
2253 : : 0, /* CC */
2254 : : 0, /* CCGC */
2255 : : 0, /* CCGOC */
2256 : : 0, /* CCNO */
2257 : : 0, /* CCGZ */
2258 : : 0, /* CCA */
2259 : : 0, /* CCC */
2260 : : 0, /* CCO */
2261 : : 0, /* CCP */
2262 : : 0, /* CCS */
2263 : : 0, /* CCZ */
2264 : : 0, /* CCFP */
2265 : : 0, /* BI */
2266 : : 0, /* QI */
2267 : : 0, /* HI */
2268 : : 0, /* SI */
2269 : : 0, /* DI */
2270 : : 0, /* TI */
2271 : : 0, /* OI */
2272 : : 0, /* XI */
2273 : : 0, /* P2QI */
2274 : : 0, /* P2HI */
2275 : : 0, /* POI */
2276 : : 7, /* QQ */
2277 : : 15, /* HQ */
2278 : : 31, /* SQ */
2279 : : 63, /* DQ */
2280 : : 127, /* TQ */
2281 : : 8, /* UQQ */
2282 : : 16, /* UHQ */
2283 : : 32, /* USQ */
2284 : : 64, /* UDQ */
2285 : : 128, /* UTQ */
2286 : : 7, /* HA */
2287 : : 15, /* SA */
2288 : : 31, /* DA */
2289 : : 63, /* TA */
2290 : : 8, /* UHA */
2291 : : 16, /* USA */
2292 : : 32, /* UDA */
2293 : : 64, /* UTA */
2294 : : 0, /* HF */
2295 : : 0, /* BF */
2296 : : 0, /* SF */
2297 : : 0, /* DF */
2298 : : 0, /* XF */
2299 : : 0, /* TF */
2300 : : 0, /* SD */
2301 : : 0, /* DD */
2302 : : 0, /* TD */
2303 : : 0, /* CQI */
2304 : : 0, /* CP2QI */
2305 : : 0, /* CHI */
2306 : : 0, /* CP2HI */
2307 : : 0, /* CSI */
2308 : : 0, /* CDI */
2309 : : 0, /* CTI */
2310 : : 0, /* CPOI */
2311 : : 0, /* COI */
2312 : : 0, /* CXI */
2313 : : 0, /* BC */
2314 : : 0, /* HC */
2315 : : 0, /* SC */
2316 : : 0, /* DC */
2317 : : 0, /* XC */
2318 : : 0, /* TC */
2319 : : 0, /* V2QI */
2320 : : 0, /* V4QI */
2321 : : 0, /* V2HI */
2322 : : 0, /* V1SI */
2323 : : 0, /* V8QI */
2324 : : 0, /* V4HI */
2325 : : 0, /* V2SI */
2326 : : 0, /* V1DI */
2327 : : 0, /* V12QI */
2328 : : 0, /* V6HI */
2329 : : 0, /* V14QI */
2330 : : 0, /* V16QI */
2331 : : 0, /* V8HI */
2332 : : 0, /* V4SI */
2333 : : 0, /* V2DI */
2334 : : 0, /* V1TI */
2335 : : 0, /* V32QI */
2336 : : 0, /* V16HI */
2337 : : 0, /* V8SI */
2338 : : 0, /* V4DI */
2339 : : 0, /* V2TI */
2340 : : 0, /* V64QI */
2341 : : 0, /* V32HI */
2342 : : 0, /* V16SI */
2343 : : 0, /* V8DI */
2344 : : 0, /* V4TI */
2345 : : 0, /* V128QI */
2346 : : 0, /* V64HI */
2347 : : 0, /* V32SI */
2348 : : 0, /* V16DI */
2349 : : 0, /* V8TI */
2350 : : 0, /* V2HF */
2351 : : 0, /* V2BF */
2352 : : 0, /* V4BF */
2353 : : 0, /* V4HF */
2354 : : 0, /* V2SF */
2355 : : 0, /* V6HF */
2356 : : 0, /* V8BF */
2357 : : 0, /* V8HF */
2358 : : 0, /* V4SF */
2359 : : 0, /* V2DF */
2360 : : 0, /* V16BF */
2361 : : 0, /* V16HF */
2362 : : 0, /* V8SF */
2363 : : 0, /* V4DF */
2364 : : 0, /* V2TF */
2365 : : 0, /* V32BF */
2366 : : 0, /* V32HF */
2367 : : 0, /* V16SF */
2368 : : 0, /* V8DF */
2369 : : 0, /* V4TF */
2370 : : 0, /* V64BF */
2371 : : 0, /* V64HF */
2372 : : 0, /* V32SF */
2373 : : 0, /* V16DF */
2374 : : 0, /* V8TF */
2375 : : };
2376 : :
2377 : : const int_n_data_t int_n_data[] =
2378 : : {
2379 : : {
2380 : : 128, /* TI */
2381 : : { E_TImode }, },
2382 : : };
|