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