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 285422 : init_adjust_machine_modes (void)
1848 : {
1849 285422 : poly_uint16 ps ATTRIBUTE_UNUSED;
1850 285422 : size_t s ATTRIBUTE_UNUSED;
1851 :
1852 : /* config/i386/i386-modes.def:37 */
1853 292582 : ps = s = TARGET_128BIT_LONG_DOUBLE ? 16 : 12;
1854 285422 : mode_unit_size[E_XFmode] = s;
1855 285422 : mode_size[E_XFmode] = ps;
1856 285422 : mode_base_align[E_XFmode] = known_alignment (ps);
1857 285422 : mode_size[E_XCmode] = 2*s;
1858 285422 : mode_unit_size[E_XCmode] = s;
1859 285422 : mode_base_align[E_XCmode] = s & (~s + 1);
1860 :
1861 : /* config/i386/i386-modes.def:38 */
1862 285422 : s = TARGET_128BIT_LONG_DOUBLE ? 16 : 4;
1863 285422 : mode_base_align[E_XFmode] = s;
1864 285422 : mode_base_align[E_XCmode] = s;
1865 :
1866 : /* config/i386/i386-modes.def:32 */
1867 285422 : 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 285422 : REAL_MODE_FORMAT (E_BFmode) = &arm_bfloat_half_format;
1871 :
1872 285422 : gcc_assert (maybe_ne (mode_size[E_VOIDmode], -1));
1873 :
1874 285422 : gcc_assert (maybe_ne (mode_size[E_BLKmode], -1));
1875 :
1876 285422 : gcc_assert (maybe_ne (mode_size[E_CCmode], -1));
1877 :
1878 285422 : gcc_assert (maybe_ne (mode_size[E_CCGCmode], -1));
1879 :
1880 285422 : gcc_assert (maybe_ne (mode_size[E_CCGOCmode], -1));
1881 :
1882 285422 : gcc_assert (maybe_ne (mode_size[E_CCNOmode], -1));
1883 :
1884 285422 : gcc_assert (maybe_ne (mode_size[E_CCGZmode], -1));
1885 :
1886 285422 : gcc_assert (maybe_ne (mode_size[E_CCAmode], -1));
1887 :
1888 285422 : gcc_assert (maybe_ne (mode_size[E_CCCmode], -1));
1889 :
1890 285422 : gcc_assert (maybe_ne (mode_size[E_CCOmode], -1));
1891 :
1892 285422 : gcc_assert (maybe_ne (mode_size[E_CCPmode], -1));
1893 :
1894 285422 : gcc_assert (maybe_ne (mode_size[E_CCSmode], -1));
1895 :
1896 285422 : gcc_assert (maybe_ne (mode_size[E_CCZmode], -1));
1897 :
1898 285422 : gcc_assert (maybe_ne (mode_size[E_CCFPmode], -1));
1899 :
1900 285422 : gcc_assert (maybe_ne (mode_size[E_BImode], -1));
1901 :
1902 285422 : gcc_assert (maybe_ne (mode_size[E_QImode], -1));
1903 :
1904 285422 : gcc_assert (maybe_ne (mode_size[E_HImode], -1));
1905 :
1906 285422 : gcc_assert (maybe_ne (mode_size[E_SImode], -1));
1907 :
1908 285422 : gcc_assert (maybe_ne (mode_size[E_DImode], -1));
1909 :
1910 285422 : gcc_assert (maybe_ne (mode_size[E_TImode], -1));
1911 :
1912 285422 : gcc_assert (maybe_ne (mode_size[E_OImode], -1));
1913 :
1914 285422 : gcc_assert (maybe_ne (mode_size[E_XImode], -1));
1915 :
1916 285422 : gcc_assert (maybe_ne (mode_size[E_P2QImode], -1));
1917 :
1918 285422 : gcc_assert (maybe_ne (mode_size[E_P2HImode], -1));
1919 :
1920 285422 : gcc_assert (maybe_ne (mode_size[E_POImode], -1));
1921 :
1922 285422 : gcc_assert (maybe_ne (mode_size[E_QQmode], -1));
1923 :
1924 285422 : gcc_assert (maybe_ne (mode_size[E_HQmode], -1));
1925 :
1926 285422 : gcc_assert (maybe_ne (mode_size[E_SQmode], -1));
1927 :
1928 285422 : gcc_assert (maybe_ne (mode_size[E_DQmode], -1));
1929 :
1930 285422 : gcc_assert (maybe_ne (mode_size[E_TQmode], -1));
1931 :
1932 285422 : gcc_assert (maybe_ne (mode_size[E_UQQmode], -1));
1933 :
1934 285422 : gcc_assert (maybe_ne (mode_size[E_UHQmode], -1));
1935 :
1936 285422 : gcc_assert (maybe_ne (mode_size[E_USQmode], -1));
1937 :
1938 285422 : gcc_assert (maybe_ne (mode_size[E_UDQmode], -1));
1939 :
1940 285422 : gcc_assert (maybe_ne (mode_size[E_UTQmode], -1));
1941 :
1942 285422 : gcc_assert (maybe_ne (mode_size[E_HAmode], -1));
1943 :
1944 285422 : gcc_assert (maybe_ne (mode_size[E_SAmode], -1));
1945 :
1946 285422 : gcc_assert (maybe_ne (mode_size[E_DAmode], -1));
1947 :
1948 285422 : gcc_assert (maybe_ne (mode_size[E_TAmode], -1));
1949 :
1950 285422 : gcc_assert (maybe_ne (mode_size[E_UHAmode], -1));
1951 :
1952 285422 : gcc_assert (maybe_ne (mode_size[E_USAmode], -1));
1953 :
1954 285422 : gcc_assert (maybe_ne (mode_size[E_UDAmode], -1));
1955 :
1956 285422 : gcc_assert (maybe_ne (mode_size[E_UTAmode], -1));
1957 :
1958 285422 : gcc_assert (maybe_ne (mode_size[E_HFmode], -1));
1959 :
1960 285422 : gcc_assert (maybe_ne (mode_size[E_BFmode], -1));
1961 :
1962 285422 : gcc_assert (maybe_ne (mode_size[E_SFmode], -1));
1963 :
1964 285422 : gcc_assert (maybe_ne (mode_size[E_DFmode], -1));
1965 :
1966 285422 : gcc_assert (maybe_ne (mode_size[E_XFmode], -1));
1967 :
1968 285422 : gcc_assert (maybe_ne (mode_size[E_TFmode], -1));
1969 :
1970 285422 : gcc_assert (maybe_ne (mode_size[E_SDmode], -1));
1971 :
1972 285422 : gcc_assert (maybe_ne (mode_size[E_DDmode], -1));
1973 :
1974 285422 : gcc_assert (maybe_ne (mode_size[E_TDmode], -1));
1975 :
1976 285422 : gcc_assert (maybe_ne (mode_size[E_CQImode], -1));
1977 :
1978 285422 : gcc_assert (maybe_ne (mode_size[E_CP2QImode], -1));
1979 :
1980 285422 : gcc_assert (maybe_ne (mode_size[E_CHImode], -1));
1981 :
1982 285422 : gcc_assert (maybe_ne (mode_size[E_CP2HImode], -1));
1983 :
1984 285422 : gcc_assert (maybe_ne (mode_size[E_CSImode], -1));
1985 :
1986 285422 : gcc_assert (maybe_ne (mode_size[E_CDImode], -1));
1987 :
1988 285422 : gcc_assert (maybe_ne (mode_size[E_CTImode], -1));
1989 :
1990 285422 : gcc_assert (maybe_ne (mode_size[E_CPOImode], -1));
1991 :
1992 285422 : gcc_assert (maybe_ne (mode_size[E_COImode], -1));
1993 :
1994 285422 : gcc_assert (maybe_ne (mode_size[E_CXImode], -1));
1995 :
1996 285422 : gcc_assert (maybe_ne (mode_size[E_BCmode], -1));
1997 :
1998 285422 : gcc_assert (maybe_ne (mode_size[E_HCmode], -1));
1999 :
2000 285422 : gcc_assert (maybe_ne (mode_size[E_SCmode], -1));
2001 :
2002 285422 : gcc_assert (maybe_ne (mode_size[E_DCmode], -1));
2003 :
2004 285422 : gcc_assert (maybe_ne (mode_size[E_XCmode], -1));
2005 :
2006 285422 : gcc_assert (maybe_ne (mode_size[E_TCmode], -1));
2007 :
2008 285422 : gcc_assert (maybe_ne (mode_size[E_V2QImode], -1));
2009 :
2010 285422 : gcc_assert (maybe_ne (mode_size[E_V4QImode], -1));
2011 :
2012 285422 : gcc_assert (maybe_ne (mode_size[E_V2HImode], -1));
2013 :
2014 285422 : gcc_assert (maybe_ne (mode_size[E_V1SImode], -1));
2015 :
2016 285422 : gcc_assert (maybe_ne (mode_size[E_V8QImode], -1));
2017 :
2018 285422 : gcc_assert (maybe_ne (mode_size[E_V4HImode], -1));
2019 :
2020 285422 : gcc_assert (maybe_ne (mode_size[E_V2SImode], -1));
2021 :
2022 285422 : gcc_assert (maybe_ne (mode_size[E_V1DImode], -1));
2023 :
2024 285422 : gcc_assert (maybe_ne (mode_size[E_V12QImode], -1));
2025 :
2026 285422 : gcc_assert (maybe_ne (mode_size[E_V6HImode], -1));
2027 :
2028 285422 : gcc_assert (maybe_ne (mode_size[E_V14QImode], -1));
2029 :
2030 285422 : gcc_assert (maybe_ne (mode_size[E_V16QImode], -1));
2031 :
2032 285422 : gcc_assert (maybe_ne (mode_size[E_V8HImode], -1));
2033 :
2034 285422 : gcc_assert (maybe_ne (mode_size[E_V4SImode], -1));
2035 :
2036 285422 : gcc_assert (maybe_ne (mode_size[E_V2DImode], -1));
2037 :
2038 285422 : gcc_assert (maybe_ne (mode_size[E_V1TImode], -1));
2039 :
2040 285422 : gcc_assert (maybe_ne (mode_size[E_V32QImode], -1));
2041 :
2042 285422 : gcc_assert (maybe_ne (mode_size[E_V16HImode], -1));
2043 :
2044 285422 : gcc_assert (maybe_ne (mode_size[E_V8SImode], -1));
2045 :
2046 285422 : gcc_assert (maybe_ne (mode_size[E_V4DImode], -1));
2047 :
2048 285422 : gcc_assert (maybe_ne (mode_size[E_V2TImode], -1));
2049 :
2050 285422 : gcc_assert (maybe_ne (mode_size[E_V64QImode], -1));
2051 :
2052 285422 : gcc_assert (maybe_ne (mode_size[E_V32HImode], -1));
2053 :
2054 285422 : gcc_assert (maybe_ne (mode_size[E_V16SImode], -1));
2055 :
2056 285422 : gcc_assert (maybe_ne (mode_size[E_V8DImode], -1));
2057 :
2058 285422 : gcc_assert (maybe_ne (mode_size[E_V4TImode], -1));
2059 :
2060 285422 : gcc_assert (maybe_ne (mode_size[E_V128QImode], -1));
2061 :
2062 285422 : gcc_assert (maybe_ne (mode_size[E_V64HImode], -1));
2063 :
2064 285422 : gcc_assert (maybe_ne (mode_size[E_V32SImode], -1));
2065 :
2066 285422 : gcc_assert (maybe_ne (mode_size[E_V16DImode], -1));
2067 :
2068 285422 : gcc_assert (maybe_ne (mode_size[E_V8TImode], -1));
2069 :
2070 285422 : gcc_assert (maybe_ne (mode_size[E_V2HFmode], -1));
2071 :
2072 285422 : gcc_assert (maybe_ne (mode_size[E_V2BFmode], -1));
2073 :
2074 285422 : gcc_assert (maybe_ne (mode_size[E_V4BFmode], -1));
2075 :
2076 285422 : gcc_assert (maybe_ne (mode_size[E_V4HFmode], -1));
2077 :
2078 285422 : gcc_assert (maybe_ne (mode_size[E_V2SFmode], -1));
2079 :
2080 285422 : gcc_assert (maybe_ne (mode_size[E_V6HFmode], -1));
2081 :
2082 285422 : gcc_assert (maybe_ne (mode_size[E_V8BFmode], -1));
2083 :
2084 285422 : gcc_assert (maybe_ne (mode_size[E_V8HFmode], -1));
2085 :
2086 285422 : gcc_assert (maybe_ne (mode_size[E_V4SFmode], -1));
2087 :
2088 285422 : gcc_assert (maybe_ne (mode_size[E_V2DFmode], -1));
2089 :
2090 285422 : gcc_assert (maybe_ne (mode_size[E_V16BFmode], -1));
2091 :
2092 285422 : gcc_assert (maybe_ne (mode_size[E_V16HFmode], -1));
2093 :
2094 285422 : gcc_assert (maybe_ne (mode_size[E_V8SFmode], -1));
2095 :
2096 285422 : gcc_assert (maybe_ne (mode_size[E_V4DFmode], -1));
2097 :
2098 285422 : gcc_assert (maybe_ne (mode_size[E_V2TFmode], -1));
2099 :
2100 285422 : gcc_assert (maybe_ne (mode_size[E_V32BFmode], -1));
2101 :
2102 285422 : gcc_assert (maybe_ne (mode_size[E_V32HFmode], -1));
2103 :
2104 285422 : gcc_assert (maybe_ne (mode_size[E_V16SFmode], -1));
2105 :
2106 285422 : gcc_assert (maybe_ne (mode_size[E_V8DFmode], -1));
2107 :
2108 285422 : gcc_assert (maybe_ne (mode_size[E_V4TFmode], -1));
2109 :
2110 285422 : gcc_assert (maybe_ne (mode_size[E_V64BFmode], -1));
2111 :
2112 285422 : gcc_assert (maybe_ne (mode_size[E_V64HFmode], -1));
2113 :
2114 285422 : gcc_assert (maybe_ne (mode_size[E_V32SFmode], -1));
2115 :
2116 285422 : gcc_assert (maybe_ne (mode_size[E_V16DFmode], -1));
2117 :
2118 285422 : gcc_assert (maybe_ne (mode_size[E_V8TFmode], -1));
2119 285422 : }
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 : };
|