xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/ia64/insn-modes.h (revision f3cfa6f6ce31685c6c4a758bc430e69eb99f50a4)
1 /* This file is automatically generated.  DO NOT EDIT! */
2 /* Generated from: NetBSD: mknative-gcc,v 1.92 2018/02/06 07:04:01 mrg Exp  */
3 /* Generated from: NetBSD: mknative.common,v 1.15 2017/11/29 03:32:28 christos Exp  */
4 
5 /* Generated automatically from machmode.def and config/ia64/ia64-modes.def
6    by genmodes.  */
7 
8 #ifndef GCC_INSN_MODES_H
9 #define GCC_INSN_MODES_H
10 
11 enum machine_mode
12 {
13   VOIDmode,                /* machmode.def:172 */
14 #define HAVE_VOIDmode
15   BLKmode,                 /* machmode.def:176 */
16 #define HAVE_BLKmode
17   CCmode,                  /* machmode.def:214 */
18 #define HAVE_CCmode
19   CCImode,                 /* config/ia64/ia64-modes.def:76 */
20 #define HAVE_CCImode
21   BImode,                  /* machmode.def:179 */
22 #define HAVE_BImode
23   QImode,                  /* machmode.def:187 */
24 #define HAVE_QImode
25   HImode,                  /* machmode.def:188 */
26 #define HAVE_HImode
27   SImode,                  /* machmode.def:189 */
28 #define HAVE_SImode
29   DImode,                  /* machmode.def:190 */
30 #define HAVE_DImode
31   TImode,                  /* machmode.def:191 */
32 #define HAVE_TImode
33   OImode,                  /* config/ia64/ia64-modes.def:68 */
34 #define HAVE_OImode
35   QQmode,                  /* machmode.def:217 */
36 #define HAVE_QQmode
37   HQmode,                  /* machmode.def:218 */
38 #define HAVE_HQmode
39   SQmode,                  /* machmode.def:219 */
40 #define HAVE_SQmode
41   DQmode,                  /* machmode.def:220 */
42 #define HAVE_DQmode
43   TQmode,                  /* machmode.def:221 */
44 #define HAVE_TQmode
45   UQQmode,                 /* machmode.def:223 */
46 #define HAVE_UQQmode
47   UHQmode,                 /* machmode.def:224 */
48 #define HAVE_UHQmode
49   USQmode,                 /* machmode.def:225 */
50 #define HAVE_USQmode
51   UDQmode,                 /* machmode.def:226 */
52 #define HAVE_UDQmode
53   UTQmode,                 /* machmode.def:227 */
54 #define HAVE_UTQmode
55   HAmode,                  /* machmode.def:229 */
56 #define HAVE_HAmode
57   SAmode,                  /* machmode.def:230 */
58 #define HAVE_SAmode
59   DAmode,                  /* machmode.def:231 */
60 #define HAVE_DAmode
61   TAmode,                  /* machmode.def:232 */
62 #define HAVE_TAmode
63   UHAmode,                 /* machmode.def:234 */
64 #define HAVE_UHAmode
65   USAmode,                 /* machmode.def:235 */
66 #define HAVE_USAmode
67   UDAmode,                 /* machmode.def:236 */
68 #define HAVE_UDAmode
69   UTAmode,                 /* machmode.def:237 */
70 #define HAVE_UTAmode
71   SFmode,                  /* machmode.def:209 */
72 #define HAVE_SFmode
73   DFmode,                  /* machmode.def:210 */
74 #define HAVE_DFmode
75   XFmode,                  /* config/ia64/ia64-modes.def:29 */
76 #define HAVE_XFmode
77   RFmode,                  /* config/ia64/ia64-modes.def:30 */
78 #define HAVE_RFmode
79   TFmode,                  /* config/ia64/ia64-modes.def:31 */
80 #define HAVE_TFmode
81   SDmode,                  /* machmode.def:249 */
82 #define HAVE_SDmode
83   DDmode,                  /* machmode.def:250 */
84 #define HAVE_DDmode
85   TDmode,                  /* machmode.def:251 */
86 #define HAVE_TDmode
87   CQImode,                 /* machmode.def:245 */
88 #define HAVE_CQImode
89   CHImode,                 /* machmode.def:245 */
90 #define HAVE_CHImode
91   CSImode,                 /* machmode.def:245 */
92 #define HAVE_CSImode
93   CDImode,                 /* machmode.def:245 */
94 #define HAVE_CDImode
95   CTImode,                 /* machmode.def:245 */
96 #define HAVE_CTImode
97   COImode,                 /* machmode.def:245 */
98 #define HAVE_COImode
99   SCmode,                  /* machmode.def:246 */
100 #define HAVE_SCmode
101   DCmode,                  /* machmode.def:246 */
102 #define HAVE_DCmode
103   XCmode,                  /* machmode.def:246 */
104 #define HAVE_XCmode
105   RCmode,                  /* machmode.def:246 */
106 #define HAVE_RCmode
107   TCmode,                  /* machmode.def:246 */
108 #define HAVE_TCmode
109   V4QImode,                /* config/ia64/ia64-modes.def:79 */
110 #define HAVE_V4QImode
111   V2HImode,                /* config/ia64/ia64-modes.def:79 */
112 #define HAVE_V2HImode
113   V8QImode,                /* config/ia64/ia64-modes.def:80 */
114 #define HAVE_V8QImode
115   V4HImode,                /* config/ia64/ia64-modes.def:80 */
116 #define HAVE_V4HImode
117   V2SImode,                /* config/ia64/ia64-modes.def:80 */
118 #define HAVE_V2SImode
119   V16QImode,               /* config/ia64/ia64-modes.def:81 */
120 #define HAVE_V16QImode
121   V8HImode,                /* config/ia64/ia64-modes.def:82 */
122 #define HAVE_V8HImode
123   V4SImode,                /* config/ia64/ia64-modes.def:83 */
124 #define HAVE_V4SImode
125   V2SFmode,                /* config/ia64/ia64-modes.def:84 */
126 #define HAVE_V2SFmode
127   V4SFmode,                /* config/ia64/ia64-modes.def:85 */
128 #define HAVE_V4SFmode
129   MAX_MACHINE_MODE,
130 
131   MIN_MODE_RANDOM = VOIDmode,
132   MAX_MODE_RANDOM = BLKmode,
133 
134   MIN_MODE_CC = CCmode,
135   MAX_MODE_CC = CCImode,
136 
137   MIN_MODE_INT = QImode,
138   MAX_MODE_INT = OImode,
139 
140   MIN_MODE_PARTIAL_INT = VOIDmode,
141   MAX_MODE_PARTIAL_INT = VOIDmode,
142 
143   MIN_MODE_POINTER_BOUNDS = VOIDmode,
144   MAX_MODE_POINTER_BOUNDS = VOIDmode,
145 
146   MIN_MODE_FRACT = QQmode,
147   MAX_MODE_FRACT = TQmode,
148 
149   MIN_MODE_UFRACT = UQQmode,
150   MAX_MODE_UFRACT = UTQmode,
151 
152   MIN_MODE_ACCUM = HAmode,
153   MAX_MODE_ACCUM = TAmode,
154 
155   MIN_MODE_UACCUM = UHAmode,
156   MAX_MODE_UACCUM = UTAmode,
157 
158   MIN_MODE_FLOAT = SFmode,
159   MAX_MODE_FLOAT = TFmode,
160 
161   MIN_MODE_DECIMAL_FLOAT = SDmode,
162   MAX_MODE_DECIMAL_FLOAT = TDmode,
163 
164   MIN_MODE_COMPLEX_INT = CQImode,
165   MAX_MODE_COMPLEX_INT = COImode,
166 
167   MIN_MODE_COMPLEX_FLOAT = SCmode,
168   MAX_MODE_COMPLEX_FLOAT = TCmode,
169 
170   MIN_MODE_VECTOR_INT = V4QImode,
171   MAX_MODE_VECTOR_INT = V4SImode,
172 
173   MIN_MODE_VECTOR_FRACT = VOIDmode,
174   MAX_MODE_VECTOR_FRACT = VOIDmode,
175 
176   MIN_MODE_VECTOR_UFRACT = VOIDmode,
177   MAX_MODE_VECTOR_UFRACT = VOIDmode,
178 
179   MIN_MODE_VECTOR_ACCUM = VOIDmode,
180   MAX_MODE_VECTOR_ACCUM = VOIDmode,
181 
182   MIN_MODE_VECTOR_UACCUM = VOIDmode,
183   MAX_MODE_VECTOR_UACCUM = VOIDmode,
184 
185   MIN_MODE_VECTOR_FLOAT = V2SFmode,
186   MAX_MODE_VECTOR_FLOAT = V4SFmode,
187 
188   NUM_MACHINE_MODES = MAX_MACHINE_MODE
189 };
190 
191 #define CONST_MODE_SIZE
192 #define CONST_MODE_UNIT_SIZE
193 #define CONST_MODE_BASE_ALIGN
194 #define CONST_MODE_IBIT const
195 #define CONST_MODE_FBIT const
196 
197 #define BITS_PER_UNIT (8)
198 #define MAX_BITSIZE_MODE_ANY_INT (32*BITS_PER_UNIT)
199 #define MAX_BITSIZE_MODE_ANY_MODE (64*BITS_PER_UNIT)
200 #define NUM_INT_N_ENTS 1
201 
202 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
203 
204 #ifdef __cplusplus
205 inline __attribute__((__always_inline__))
206 #else
207 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
208 #endif
209 unsigned char
210 mode_size_inline (machine_mode mode)
211 {
212   extern unsigned char mode_size[NUM_MACHINE_MODES];
213   switch (mode)
214     {
215     case VOIDmode: return 0;
216     case BLKmode: return 0;
217     case CCmode: return 4;
218     case CCImode: return 4;
219     case BImode: return 1;
220     case QImode: return 1;
221     case HImode: return 2;
222     case SImode: return 4;
223     case DImode: return 8;
224     case TImode: return 16;
225     case OImode: return 32;
226     case QQmode: return 1;
227     case HQmode: return 2;
228     case SQmode: return 4;
229     case DQmode: return 8;
230     case TQmode: return 16;
231     case UQQmode: return 1;
232     case UHQmode: return 2;
233     case USQmode: return 4;
234     case UDQmode: return 8;
235     case UTQmode: return 16;
236     case HAmode: return 2;
237     case SAmode: return 4;
238     case DAmode: return 8;
239     case TAmode: return 16;
240     case UHAmode: return 2;
241     case USAmode: return 4;
242     case UDAmode: return 8;
243     case UTAmode: return 16;
244     case SFmode: return 4;
245     case DFmode: return 8;
246     case TFmode: return 16;
247     case SDmode: return 4;
248     case DDmode: return 8;
249     case TDmode: return 16;
250     case CQImode: return 2;
251     case CHImode: return 4;
252     case CSImode: return 8;
253     case CDImode: return 16;
254     case CTImode: return 32;
255     case COImode: return 64;
256     case SCmode: return 8;
257     case DCmode: return 16;
258     case TCmode: return 32;
259     case V4QImode: return 4;
260     case V2HImode: return 4;
261     case V8QImode: return 8;
262     case V4HImode: return 8;
263     case V2SImode: return 8;
264     case V16QImode: return 16;
265     case V8HImode: return 16;
266     case V4SImode: return 16;
267     case V2SFmode: return 8;
268     case V4SFmode: return 16;
269     default: return mode_size[mode];
270     }
271 }
272 
273 #ifdef __cplusplus
274 inline __attribute__((__always_inline__))
275 #else
276 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
277 #endif
278 unsigned char
279 mode_nunits_inline (machine_mode mode)
280 {
281   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
282   switch (mode)
283     {
284     case VOIDmode: return 0;
285     case BLKmode: return 0;
286     case CCmode: return 1;
287     case CCImode: return 1;
288     case BImode: return 1;
289     case QImode: return 1;
290     case HImode: return 1;
291     case SImode: return 1;
292     case DImode: return 1;
293     case TImode: return 1;
294     case OImode: return 1;
295     case QQmode: return 1;
296     case HQmode: return 1;
297     case SQmode: return 1;
298     case DQmode: return 1;
299     case TQmode: return 1;
300     case UQQmode: return 1;
301     case UHQmode: return 1;
302     case USQmode: return 1;
303     case UDQmode: return 1;
304     case UTQmode: return 1;
305     case HAmode: return 1;
306     case SAmode: return 1;
307     case DAmode: return 1;
308     case TAmode: return 1;
309     case UHAmode: return 1;
310     case USAmode: return 1;
311     case UDAmode: return 1;
312     case UTAmode: return 1;
313     case SFmode: return 1;
314     case DFmode: return 1;
315     case XFmode: return 1;
316     case RFmode: return 1;
317     case TFmode: return 1;
318     case SDmode: return 1;
319     case DDmode: return 1;
320     case TDmode: return 1;
321     case CQImode: return 2;
322     case CHImode: return 2;
323     case CSImode: return 2;
324     case CDImode: return 2;
325     case CTImode: return 2;
326     case COImode: return 2;
327     case SCmode: return 2;
328     case DCmode: return 2;
329     case XCmode: return 2;
330     case RCmode: return 2;
331     case TCmode: return 2;
332     case V4QImode: return 4;
333     case V2HImode: return 2;
334     case V8QImode: return 8;
335     case V4HImode: return 4;
336     case V2SImode: return 2;
337     case V16QImode: return 16;
338     case V8HImode: return 8;
339     case V4SImode: return 4;
340     case V2SFmode: return 2;
341     case V4SFmode: return 4;
342     default: return mode_nunits[mode];
343     }
344 }
345 
346 #ifdef __cplusplus
347 inline __attribute__((__always_inline__))
348 #else
349 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
350 #endif
351 unsigned char
352 mode_inner_inline (machine_mode mode)
353 {
354   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
355   switch (mode)
356     {
357     case VOIDmode: return VOIDmode;
358     case BLKmode: return BLKmode;
359     case CCmode: return CCmode;
360     case CCImode: return CCImode;
361     case BImode: return BImode;
362     case QImode: return QImode;
363     case HImode: return HImode;
364     case SImode: return SImode;
365     case DImode: return DImode;
366     case TImode: return TImode;
367     case OImode: return OImode;
368     case QQmode: return QQmode;
369     case HQmode: return HQmode;
370     case SQmode: return SQmode;
371     case DQmode: return DQmode;
372     case TQmode: return TQmode;
373     case UQQmode: return UQQmode;
374     case UHQmode: return UHQmode;
375     case USQmode: return USQmode;
376     case UDQmode: return UDQmode;
377     case UTQmode: return UTQmode;
378     case HAmode: return HAmode;
379     case SAmode: return SAmode;
380     case DAmode: return DAmode;
381     case TAmode: return TAmode;
382     case UHAmode: return UHAmode;
383     case USAmode: return USAmode;
384     case UDAmode: return UDAmode;
385     case UTAmode: return UTAmode;
386     case SFmode: return SFmode;
387     case DFmode: return DFmode;
388     case XFmode: return XFmode;
389     case RFmode: return RFmode;
390     case TFmode: return TFmode;
391     case SDmode: return SDmode;
392     case DDmode: return DDmode;
393     case TDmode: return TDmode;
394     case CQImode: return QImode;
395     case CHImode: return HImode;
396     case CSImode: return SImode;
397     case CDImode: return DImode;
398     case CTImode: return TImode;
399     case COImode: return OImode;
400     case SCmode: return SFmode;
401     case DCmode: return DFmode;
402     case XCmode: return XFmode;
403     case RCmode: return RFmode;
404     case TCmode: return TFmode;
405     case V4QImode: return QImode;
406     case V2HImode: return HImode;
407     case V8QImode: return QImode;
408     case V4HImode: return HImode;
409     case V2SImode: return SImode;
410     case V16QImode: return QImode;
411     case V8HImode: return HImode;
412     case V4SImode: return SImode;
413     case V2SFmode: return SFmode;
414     case V4SFmode: return SFmode;
415     default: return mode_inner[mode];
416     }
417 }
418 
419 #ifdef __cplusplus
420 inline __attribute__((__always_inline__))
421 #else
422 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
423 #endif
424 unsigned char
425 mode_unit_size_inline (machine_mode mode)
426 {
427   extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
428   switch (mode)
429     {
430     case VOIDmode: return 0;
431     case BLKmode: return 0;
432     case CCmode: return 4;
433     case CCImode: return 4;
434     case BImode: return 1;
435     case QImode: return 1;
436     case HImode: return 2;
437     case SImode: return 4;
438     case DImode: return 8;
439     case TImode: return 16;
440     case OImode: return 32;
441     case QQmode: return 1;
442     case HQmode: return 2;
443     case SQmode: return 4;
444     case DQmode: return 8;
445     case TQmode: return 16;
446     case UQQmode: return 1;
447     case UHQmode: return 2;
448     case USQmode: return 4;
449     case UDQmode: return 8;
450     case UTQmode: return 16;
451     case HAmode: return 2;
452     case SAmode: return 4;
453     case DAmode: return 8;
454     case TAmode: return 16;
455     case UHAmode: return 2;
456     case USAmode: return 4;
457     case UDAmode: return 8;
458     case UTAmode: return 16;
459     case SFmode: return 4;
460     case DFmode: return 8;
461     case TFmode: return 16;
462     case SDmode: return 4;
463     case DDmode: return 8;
464     case TDmode: return 16;
465     case CQImode: return 1;
466     case CHImode: return 2;
467     case CSImode: return 4;
468     case CDImode: return 8;
469     case CTImode: return 16;
470     case COImode: return 32;
471     case SCmode: return 4;
472     case DCmode: return 8;
473     case TCmode: return 16;
474     case V4QImode: return 1;
475     case V2HImode: return 2;
476     case V8QImode: return 1;
477     case V4HImode: return 2;
478     case V2SImode: return 4;
479     case V16QImode: return 1;
480     case V8HImode: return 2;
481     case V4SImode: return 4;
482     case V2SFmode: return 4;
483     case V4SFmode: return 4;
484     default: return mode_unit_size[mode];
485     }
486 }
487 
488 #ifdef __cplusplus
489 inline __attribute__((__always_inline__))
490 #else
491 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
492 #endif
493 unsigned short
494 mode_unit_precision_inline (machine_mode mode)
495 {
496   extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
497   switch (mode)
498     {
499     case VOIDmode: return 0;
500     case BLKmode: return 0;
501     case CCmode: return 4*BITS_PER_UNIT;
502     case CCImode: return 4*BITS_PER_UNIT;
503     case BImode: return 1;
504     case QImode: return 1*BITS_PER_UNIT;
505     case HImode: return 2*BITS_PER_UNIT;
506     case SImode: return 4*BITS_PER_UNIT;
507     case DImode: return 8*BITS_PER_UNIT;
508     case TImode: return 16*BITS_PER_UNIT;
509     case OImode: return 32*BITS_PER_UNIT;
510     case QQmode: return 1*BITS_PER_UNIT;
511     case HQmode: return 2*BITS_PER_UNIT;
512     case SQmode: return 4*BITS_PER_UNIT;
513     case DQmode: return 8*BITS_PER_UNIT;
514     case TQmode: return 16*BITS_PER_UNIT;
515     case UQQmode: return 1*BITS_PER_UNIT;
516     case UHQmode: return 2*BITS_PER_UNIT;
517     case USQmode: return 4*BITS_PER_UNIT;
518     case UDQmode: return 8*BITS_PER_UNIT;
519     case UTQmode: return 16*BITS_PER_UNIT;
520     case HAmode: return 2*BITS_PER_UNIT;
521     case SAmode: return 4*BITS_PER_UNIT;
522     case DAmode: return 8*BITS_PER_UNIT;
523     case TAmode: return 16*BITS_PER_UNIT;
524     case UHAmode: return 2*BITS_PER_UNIT;
525     case USAmode: return 4*BITS_PER_UNIT;
526     case UDAmode: return 8*BITS_PER_UNIT;
527     case UTAmode: return 16*BITS_PER_UNIT;
528     case SFmode: return 4*BITS_PER_UNIT;
529     case DFmode: return 8*BITS_PER_UNIT;
530     case XFmode: return 80;
531     case RFmode: return 82;
532     case TFmode: return 16*BITS_PER_UNIT;
533     case SDmode: return 4*BITS_PER_UNIT;
534     case DDmode: return 8*BITS_PER_UNIT;
535     case TDmode: return 16*BITS_PER_UNIT;
536     case CQImode: return 1*BITS_PER_UNIT;
537     case CHImode: return 2*BITS_PER_UNIT;
538     case CSImode: return 4*BITS_PER_UNIT;
539     case CDImode: return 8*BITS_PER_UNIT;
540     case CTImode: return 16*BITS_PER_UNIT;
541     case COImode: return 32*BITS_PER_UNIT;
542     case SCmode: return 4*BITS_PER_UNIT;
543     case DCmode: return 8*BITS_PER_UNIT;
544     case XCmode: return 80;
545     case RCmode: return 82;
546     case TCmode: return 16*BITS_PER_UNIT;
547     case V4QImode: return 1*BITS_PER_UNIT;
548     case V2HImode: return 2*BITS_PER_UNIT;
549     case V8QImode: return 1*BITS_PER_UNIT;
550     case V4HImode: return 2*BITS_PER_UNIT;
551     case V2SImode: return 4*BITS_PER_UNIT;
552     case V16QImode: return 1*BITS_PER_UNIT;
553     case V8HImode: return 2*BITS_PER_UNIT;
554     case V4SImode: return 4*BITS_PER_UNIT;
555     case V2SFmode: return 4*BITS_PER_UNIT;
556     case V4SFmode: return 4*BITS_PER_UNIT;
557     default: return mode_unit_precision[mode];
558     }
559 }
560 
561 #endif /* GCC_VERSION >= 4001 */
562 
563 #endif /* insn-modes.h */
564