xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6/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/arm/arm-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   CC_NOOVmode,             /* config/arm/arm-modes.def:43 */
20 #define HAVE_CC_NOOVmode
21   CC_Zmode,                /* config/arm/arm-modes.def:44 */
22 #define HAVE_CC_Zmode
23   CC_CZmode,               /* config/arm/arm-modes.def:45 */
24 #define HAVE_CC_CZmode
25   CC_NCVmode,              /* config/arm/arm-modes.def:46 */
26 #define HAVE_CC_NCVmode
27   CC_SWPmode,              /* config/arm/arm-modes.def:47 */
28 #define HAVE_CC_SWPmode
29   CCFPmode,                /* config/arm/arm-modes.def:48 */
30 #define HAVE_CCFPmode
31   CCFPEmode,               /* config/arm/arm-modes.def:49 */
32 #define HAVE_CCFPEmode
33   CC_DNEmode,              /* config/arm/arm-modes.def:50 */
34 #define HAVE_CC_DNEmode
35   CC_DEQmode,              /* config/arm/arm-modes.def:51 */
36 #define HAVE_CC_DEQmode
37   CC_DLEmode,              /* config/arm/arm-modes.def:52 */
38 #define HAVE_CC_DLEmode
39   CC_DLTmode,              /* config/arm/arm-modes.def:53 */
40 #define HAVE_CC_DLTmode
41   CC_DGEmode,              /* config/arm/arm-modes.def:54 */
42 #define HAVE_CC_DGEmode
43   CC_DGTmode,              /* config/arm/arm-modes.def:55 */
44 #define HAVE_CC_DGTmode
45   CC_DLEUmode,             /* config/arm/arm-modes.def:56 */
46 #define HAVE_CC_DLEUmode
47   CC_DLTUmode,             /* config/arm/arm-modes.def:57 */
48 #define HAVE_CC_DLTUmode
49   CC_DGEUmode,             /* config/arm/arm-modes.def:58 */
50 #define HAVE_CC_DGEUmode
51   CC_DGTUmode,             /* config/arm/arm-modes.def:59 */
52 #define HAVE_CC_DGTUmode
53   CC_Cmode,                /* config/arm/arm-modes.def:60 */
54 #define HAVE_CC_Cmode
55   CC_Nmode,                /* config/arm/arm-modes.def:61 */
56 #define HAVE_CC_Nmode
57   BImode,                  /* machmode.def:179 */
58 #define HAVE_BImode
59   QImode,                  /* machmode.def:187 */
60 #define HAVE_QImode
61   HImode,                  /* machmode.def:188 */
62 #define HAVE_HImode
63   SImode,                  /* machmode.def:189 */
64 #define HAVE_SImode
65   DImode,                  /* machmode.def:190 */
66 #define HAVE_DImode
67   TImode,                  /* machmode.def:191 */
68 #define HAVE_TImode
69   EImode,                  /* config/arm/arm-modes.def:78 */
70 #define HAVE_EImode
71   OImode,                  /* config/arm/arm-modes.def:79 */
72 #define HAVE_OImode
73   CImode,                  /* config/arm/arm-modes.def:80 */
74 #define HAVE_CImode
75   XImode,                  /* config/arm/arm-modes.def:81 */
76 #define HAVE_XImode
77   QQmode,                  /* machmode.def:217 */
78 #define HAVE_QQmode
79   HQmode,                  /* machmode.def:218 */
80 #define HAVE_HQmode
81   SQmode,                  /* machmode.def:219 */
82 #define HAVE_SQmode
83   DQmode,                  /* machmode.def:220 */
84 #define HAVE_DQmode
85   TQmode,                  /* machmode.def:221 */
86 #define HAVE_TQmode
87   UQQmode,                 /* machmode.def:223 */
88 #define HAVE_UQQmode
89   UHQmode,                 /* machmode.def:224 */
90 #define HAVE_UHQmode
91   USQmode,                 /* machmode.def:225 */
92 #define HAVE_USQmode
93   UDQmode,                 /* machmode.def:226 */
94 #define HAVE_UDQmode
95   UTQmode,                 /* machmode.def:227 */
96 #define HAVE_UTQmode
97   HAmode,                  /* machmode.def:229 */
98 #define HAVE_HAmode
99   SAmode,                  /* machmode.def:230 */
100 #define HAVE_SAmode
101   DAmode,                  /* machmode.def:231 */
102 #define HAVE_DAmode
103   TAmode,                  /* machmode.def:232 */
104 #define HAVE_TAmode
105   UHAmode,                 /* machmode.def:234 */
106 #define HAVE_UHAmode
107   USAmode,                 /* machmode.def:235 */
108 #define HAVE_USAmode
109   UDAmode,                 /* machmode.def:236 */
110 #define HAVE_UDAmode
111   UTAmode,                 /* machmode.def:237 */
112 #define HAVE_UTAmode
113   HFmode,                  /* config/arm/arm-modes.def:26 */
114 #define HAVE_HFmode
115   SFmode,                  /* machmode.def:209 */
116 #define HAVE_SFmode
117   DFmode,                  /* machmode.def:210 */
118 #define HAVE_DFmode
119   SDmode,                  /* machmode.def:249 */
120 #define HAVE_SDmode
121   DDmode,                  /* machmode.def:250 */
122 #define HAVE_DDmode
123   TDmode,                  /* machmode.def:251 */
124 #define HAVE_TDmode
125   CQImode,                 /* machmode.def:245 */
126 #define HAVE_CQImode
127   CHImode,                 /* machmode.def:245 */
128 #define HAVE_CHImode
129   CSImode,                 /* machmode.def:245 */
130 #define HAVE_CSImode
131   CDImode,                 /* machmode.def:245 */
132 #define HAVE_CDImode
133   CTImode,                 /* machmode.def:245 */
134 #define HAVE_CTImode
135   CEImode,                 /* machmode.def:245 */
136 #define HAVE_CEImode
137   COImode,                 /* machmode.def:245 */
138 #define HAVE_COImode
139   CCImode,                 /* machmode.def:245 */
140 #define HAVE_CCImode
141   CXImode,                 /* machmode.def:245 */
142 #define HAVE_CXImode
143   HCmode,                  /* machmode.def:246 */
144 #define HAVE_HCmode
145   SCmode,                  /* machmode.def:246 */
146 #define HAVE_SCmode
147   DCmode,                  /* machmode.def:246 */
148 #define HAVE_DCmode
149   V4QImode,                /* config/arm/arm-modes.def:64 */
150 #define HAVE_V4QImode
151   V2HImode,                /* config/arm/arm-modes.def:64 */
152 #define HAVE_V2HImode
153   V8QImode,                /* config/arm/arm-modes.def:65 */
154 #define HAVE_V8QImode
155   V4HImode,                /* config/arm/arm-modes.def:65 */
156 #define HAVE_V4HImode
157   V2SImode,                /* config/arm/arm-modes.def:65 */
158 #define HAVE_V2SImode
159   V16QImode,               /* config/arm/arm-modes.def:66 */
160 #define HAVE_V16QImode
161   V8HImode,                /* config/arm/arm-modes.def:66 */
162 #define HAVE_V8HImode
163   V4SImode,                /* config/arm/arm-modes.def:66 */
164 #define HAVE_V4SImode
165   V2DImode,                /* config/arm/arm-modes.def:66 */
166 #define HAVE_V2DImode
167   V4QQmode,                /* config/arm/arm-modes.def:71 */
168 #define HAVE_V4QQmode
169   V2HQmode,                /* config/arm/arm-modes.def:71 */
170 #define HAVE_V2HQmode
171   V4UQQmode,               /* config/arm/arm-modes.def:72 */
172 #define HAVE_V4UQQmode
173   V2UHQmode,               /* config/arm/arm-modes.def:72 */
174 #define HAVE_V2UHQmode
175   V2HAmode,                /* config/arm/arm-modes.def:73 */
176 #define HAVE_V2HAmode
177   V2UHAmode,               /* config/arm/arm-modes.def:74 */
178 #define HAVE_V2UHAmode
179   V4HFmode,                /* config/arm/arm-modes.def:67 */
180 #define HAVE_V4HFmode
181   V2SFmode,                /* config/arm/arm-modes.def:67 */
182 #define HAVE_V2SFmode
183   V8HFmode,                /* config/arm/arm-modes.def:68 */
184 #define HAVE_V8HFmode
185   V4SFmode,                /* config/arm/arm-modes.def:68 */
186 #define HAVE_V4SFmode
187   V2DFmode,                /* config/arm/arm-modes.def:68 */
188 #define HAVE_V2DFmode
189   MAX_MACHINE_MODE,
190 
191   MIN_MODE_RANDOM = VOIDmode,
192   MAX_MODE_RANDOM = BLKmode,
193 
194   MIN_MODE_CC = CCmode,
195   MAX_MODE_CC = CC_Nmode,
196 
197   MIN_MODE_INT = QImode,
198   MAX_MODE_INT = XImode,
199 
200   MIN_MODE_PARTIAL_INT = VOIDmode,
201   MAX_MODE_PARTIAL_INT = VOIDmode,
202 
203   MIN_MODE_POINTER_BOUNDS = VOIDmode,
204   MAX_MODE_POINTER_BOUNDS = VOIDmode,
205 
206   MIN_MODE_FRACT = QQmode,
207   MAX_MODE_FRACT = TQmode,
208 
209   MIN_MODE_UFRACT = UQQmode,
210   MAX_MODE_UFRACT = UTQmode,
211 
212   MIN_MODE_ACCUM = HAmode,
213   MAX_MODE_ACCUM = TAmode,
214 
215   MIN_MODE_UACCUM = UHAmode,
216   MAX_MODE_UACCUM = UTAmode,
217 
218   MIN_MODE_FLOAT = HFmode,
219   MAX_MODE_FLOAT = DFmode,
220 
221   MIN_MODE_DECIMAL_FLOAT = SDmode,
222   MAX_MODE_DECIMAL_FLOAT = TDmode,
223 
224   MIN_MODE_COMPLEX_INT = CQImode,
225   MAX_MODE_COMPLEX_INT = CXImode,
226 
227   MIN_MODE_COMPLEX_FLOAT = HCmode,
228   MAX_MODE_COMPLEX_FLOAT = DCmode,
229 
230   MIN_MODE_VECTOR_INT = V4QImode,
231   MAX_MODE_VECTOR_INT = V2DImode,
232 
233   MIN_MODE_VECTOR_FRACT = V4QQmode,
234   MAX_MODE_VECTOR_FRACT = V2HQmode,
235 
236   MIN_MODE_VECTOR_UFRACT = V4UQQmode,
237   MAX_MODE_VECTOR_UFRACT = V2UHQmode,
238 
239   MIN_MODE_VECTOR_ACCUM = V2HAmode,
240   MAX_MODE_VECTOR_ACCUM = V2HAmode,
241 
242   MIN_MODE_VECTOR_UACCUM = V2UHAmode,
243   MAX_MODE_VECTOR_UACCUM = V2UHAmode,
244 
245   MIN_MODE_VECTOR_FLOAT = V4HFmode,
246   MAX_MODE_VECTOR_FLOAT = V2DFmode,
247 
248   NUM_MACHINE_MODES = MAX_MACHINE_MODE
249 };
250 
251 #define CONST_MODE_SIZE const
252 #define CONST_MODE_UNIT_SIZE const
253 #define CONST_MODE_BASE_ALIGN const
254 #define CONST_MODE_IBIT const
255 #define CONST_MODE_FBIT const
256 
257 #define BITS_PER_UNIT (8)
258 #define MAX_BITSIZE_MODE_ANY_INT (64*BITS_PER_UNIT)
259 #define MAX_BITSIZE_MODE_ANY_MODE (128*BITS_PER_UNIT)
260 #define NUM_INT_N_ENTS 1
261 
262 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
263 
264 #ifdef __cplusplus
265 inline __attribute__((__always_inline__))
266 #else
267 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
268 #endif
269 unsigned char
270 mode_size_inline (machine_mode mode)
271 {
272   extern const unsigned char mode_size[NUM_MACHINE_MODES];
273   switch (mode)
274     {
275     case VOIDmode: return 0;
276     case BLKmode: return 0;
277     case CCmode: return 4;
278     case CC_NOOVmode: return 4;
279     case CC_Zmode: return 4;
280     case CC_CZmode: return 4;
281     case CC_NCVmode: return 4;
282     case CC_SWPmode: return 4;
283     case CCFPmode: return 4;
284     case CCFPEmode: return 4;
285     case CC_DNEmode: return 4;
286     case CC_DEQmode: return 4;
287     case CC_DLEmode: return 4;
288     case CC_DLTmode: return 4;
289     case CC_DGEmode: return 4;
290     case CC_DGTmode: return 4;
291     case CC_DLEUmode: return 4;
292     case CC_DLTUmode: return 4;
293     case CC_DGEUmode: return 4;
294     case CC_DGTUmode: return 4;
295     case CC_Cmode: return 4;
296     case CC_Nmode: return 4;
297     case BImode: return 1;
298     case QImode: return 1;
299     case HImode: return 2;
300     case SImode: return 4;
301     case DImode: return 8;
302     case TImode: return 16;
303     case EImode: return 24;
304     case OImode: return 32;
305     case CImode: return 48;
306     case XImode: return 64;
307     case QQmode: return 1;
308     case HQmode: return 2;
309     case SQmode: return 4;
310     case DQmode: return 8;
311     case TQmode: return 16;
312     case UQQmode: return 1;
313     case UHQmode: return 2;
314     case USQmode: return 4;
315     case UDQmode: return 8;
316     case UTQmode: return 16;
317     case HAmode: return 2;
318     case SAmode: return 4;
319     case DAmode: return 8;
320     case TAmode: return 16;
321     case UHAmode: return 2;
322     case USAmode: return 4;
323     case UDAmode: return 8;
324     case UTAmode: return 16;
325     case HFmode: return 2;
326     case SFmode: return 4;
327     case DFmode: return 8;
328     case SDmode: return 4;
329     case DDmode: return 8;
330     case TDmode: return 16;
331     case CQImode: return 2;
332     case CHImode: return 4;
333     case CSImode: return 8;
334     case CDImode: return 16;
335     case CTImode: return 32;
336     case CEImode: return 48;
337     case COImode: return 64;
338     case CCImode: return 96;
339     case CXImode: return 128;
340     case HCmode: return 4;
341     case SCmode: return 8;
342     case DCmode: return 16;
343     case V4QImode: return 4;
344     case V2HImode: return 4;
345     case V8QImode: return 8;
346     case V4HImode: return 8;
347     case V2SImode: return 8;
348     case V16QImode: return 16;
349     case V8HImode: return 16;
350     case V4SImode: return 16;
351     case V2DImode: return 16;
352     case V4QQmode: return 4;
353     case V2HQmode: return 4;
354     case V4UQQmode: return 4;
355     case V2UHQmode: return 4;
356     case V2HAmode: return 4;
357     case V2UHAmode: return 4;
358     case V4HFmode: return 8;
359     case V2SFmode: return 8;
360     case V8HFmode: return 16;
361     case V4SFmode: return 16;
362     case V2DFmode: return 16;
363     default: return mode_size[mode];
364     }
365 }
366 
367 #ifdef __cplusplus
368 inline __attribute__((__always_inline__))
369 #else
370 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
371 #endif
372 unsigned char
373 mode_nunits_inline (machine_mode mode)
374 {
375   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
376   switch (mode)
377     {
378     case VOIDmode: return 0;
379     case BLKmode: return 0;
380     case CCmode: return 1;
381     case CC_NOOVmode: return 1;
382     case CC_Zmode: return 1;
383     case CC_CZmode: return 1;
384     case CC_NCVmode: return 1;
385     case CC_SWPmode: return 1;
386     case CCFPmode: return 1;
387     case CCFPEmode: return 1;
388     case CC_DNEmode: return 1;
389     case CC_DEQmode: return 1;
390     case CC_DLEmode: return 1;
391     case CC_DLTmode: return 1;
392     case CC_DGEmode: return 1;
393     case CC_DGTmode: return 1;
394     case CC_DLEUmode: return 1;
395     case CC_DLTUmode: return 1;
396     case CC_DGEUmode: return 1;
397     case CC_DGTUmode: return 1;
398     case CC_Cmode: return 1;
399     case CC_Nmode: return 1;
400     case BImode: return 1;
401     case QImode: return 1;
402     case HImode: return 1;
403     case SImode: return 1;
404     case DImode: return 1;
405     case TImode: return 1;
406     case EImode: return 1;
407     case OImode: return 1;
408     case CImode: return 1;
409     case XImode: return 1;
410     case QQmode: return 1;
411     case HQmode: return 1;
412     case SQmode: return 1;
413     case DQmode: return 1;
414     case TQmode: return 1;
415     case UQQmode: return 1;
416     case UHQmode: return 1;
417     case USQmode: return 1;
418     case UDQmode: return 1;
419     case UTQmode: return 1;
420     case HAmode: return 1;
421     case SAmode: return 1;
422     case DAmode: return 1;
423     case TAmode: return 1;
424     case UHAmode: return 1;
425     case USAmode: return 1;
426     case UDAmode: return 1;
427     case UTAmode: return 1;
428     case HFmode: return 1;
429     case SFmode: return 1;
430     case DFmode: return 1;
431     case SDmode: return 1;
432     case DDmode: return 1;
433     case TDmode: return 1;
434     case CQImode: return 2;
435     case CHImode: return 2;
436     case CSImode: return 2;
437     case CDImode: return 2;
438     case CTImode: return 2;
439     case CEImode: return 2;
440     case COImode: return 2;
441     case CCImode: return 2;
442     case CXImode: return 2;
443     case HCmode: return 2;
444     case SCmode: return 2;
445     case DCmode: return 2;
446     case V4QImode: return 4;
447     case V2HImode: return 2;
448     case V8QImode: return 8;
449     case V4HImode: return 4;
450     case V2SImode: return 2;
451     case V16QImode: return 16;
452     case V8HImode: return 8;
453     case V4SImode: return 4;
454     case V2DImode: return 2;
455     case V4QQmode: return 4;
456     case V2HQmode: return 2;
457     case V4UQQmode: return 4;
458     case V2UHQmode: return 2;
459     case V2HAmode: return 2;
460     case V2UHAmode: return 2;
461     case V4HFmode: return 4;
462     case V2SFmode: return 2;
463     case V8HFmode: return 8;
464     case V4SFmode: return 4;
465     case V2DFmode: return 2;
466     default: return mode_nunits[mode];
467     }
468 }
469 
470 #ifdef __cplusplus
471 inline __attribute__((__always_inline__))
472 #else
473 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
474 #endif
475 unsigned char
476 mode_inner_inline (machine_mode mode)
477 {
478   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
479   switch (mode)
480     {
481     case VOIDmode: return VOIDmode;
482     case BLKmode: return BLKmode;
483     case CCmode: return CCmode;
484     case CC_NOOVmode: return CC_NOOVmode;
485     case CC_Zmode: return CC_Zmode;
486     case CC_CZmode: return CC_CZmode;
487     case CC_NCVmode: return CC_NCVmode;
488     case CC_SWPmode: return CC_SWPmode;
489     case CCFPmode: return CCFPmode;
490     case CCFPEmode: return CCFPEmode;
491     case CC_DNEmode: return CC_DNEmode;
492     case CC_DEQmode: return CC_DEQmode;
493     case CC_DLEmode: return CC_DLEmode;
494     case CC_DLTmode: return CC_DLTmode;
495     case CC_DGEmode: return CC_DGEmode;
496     case CC_DGTmode: return CC_DGTmode;
497     case CC_DLEUmode: return CC_DLEUmode;
498     case CC_DLTUmode: return CC_DLTUmode;
499     case CC_DGEUmode: return CC_DGEUmode;
500     case CC_DGTUmode: return CC_DGTUmode;
501     case CC_Cmode: return CC_Cmode;
502     case CC_Nmode: return CC_Nmode;
503     case BImode: return BImode;
504     case QImode: return QImode;
505     case HImode: return HImode;
506     case SImode: return SImode;
507     case DImode: return DImode;
508     case TImode: return TImode;
509     case EImode: return EImode;
510     case OImode: return OImode;
511     case CImode: return CImode;
512     case XImode: return XImode;
513     case QQmode: return QQmode;
514     case HQmode: return HQmode;
515     case SQmode: return SQmode;
516     case DQmode: return DQmode;
517     case TQmode: return TQmode;
518     case UQQmode: return UQQmode;
519     case UHQmode: return UHQmode;
520     case USQmode: return USQmode;
521     case UDQmode: return UDQmode;
522     case UTQmode: return UTQmode;
523     case HAmode: return HAmode;
524     case SAmode: return SAmode;
525     case DAmode: return DAmode;
526     case TAmode: return TAmode;
527     case UHAmode: return UHAmode;
528     case USAmode: return USAmode;
529     case UDAmode: return UDAmode;
530     case UTAmode: return UTAmode;
531     case HFmode: return HFmode;
532     case SFmode: return SFmode;
533     case DFmode: return DFmode;
534     case SDmode: return SDmode;
535     case DDmode: return DDmode;
536     case TDmode: return TDmode;
537     case CQImode: return QImode;
538     case CHImode: return HImode;
539     case CSImode: return SImode;
540     case CDImode: return DImode;
541     case CTImode: return TImode;
542     case CEImode: return EImode;
543     case COImode: return OImode;
544     case CCImode: return CImode;
545     case CXImode: return XImode;
546     case HCmode: return HFmode;
547     case SCmode: return SFmode;
548     case DCmode: return DFmode;
549     case V4QImode: return QImode;
550     case V2HImode: return HImode;
551     case V8QImode: return QImode;
552     case V4HImode: return HImode;
553     case V2SImode: return SImode;
554     case V16QImode: return QImode;
555     case V8HImode: return HImode;
556     case V4SImode: return SImode;
557     case V2DImode: return DImode;
558     case V4QQmode: return QQmode;
559     case V2HQmode: return HQmode;
560     case V4UQQmode: return UQQmode;
561     case V2UHQmode: return UHQmode;
562     case V2HAmode: return HAmode;
563     case V2UHAmode: return UHAmode;
564     case V4HFmode: return HFmode;
565     case V2SFmode: return SFmode;
566     case V8HFmode: return HFmode;
567     case V4SFmode: return SFmode;
568     case V2DFmode: return DFmode;
569     default: return mode_inner[mode];
570     }
571 }
572 
573 #ifdef __cplusplus
574 inline __attribute__((__always_inline__))
575 #else
576 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
577 #endif
578 unsigned char
579 mode_unit_size_inline (machine_mode mode)
580 {
581   extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
582   switch (mode)
583     {
584     case VOIDmode: return 0;
585     case BLKmode: return 0;
586     case CCmode: return 4;
587     case CC_NOOVmode: return 4;
588     case CC_Zmode: return 4;
589     case CC_CZmode: return 4;
590     case CC_NCVmode: return 4;
591     case CC_SWPmode: return 4;
592     case CCFPmode: return 4;
593     case CCFPEmode: return 4;
594     case CC_DNEmode: return 4;
595     case CC_DEQmode: return 4;
596     case CC_DLEmode: return 4;
597     case CC_DLTmode: return 4;
598     case CC_DGEmode: return 4;
599     case CC_DGTmode: return 4;
600     case CC_DLEUmode: return 4;
601     case CC_DLTUmode: return 4;
602     case CC_DGEUmode: return 4;
603     case CC_DGTUmode: return 4;
604     case CC_Cmode: return 4;
605     case CC_Nmode: return 4;
606     case BImode: return 1;
607     case QImode: return 1;
608     case HImode: return 2;
609     case SImode: return 4;
610     case DImode: return 8;
611     case TImode: return 16;
612     case EImode: return 24;
613     case OImode: return 32;
614     case CImode: return 48;
615     case XImode: return 64;
616     case QQmode: return 1;
617     case HQmode: return 2;
618     case SQmode: return 4;
619     case DQmode: return 8;
620     case TQmode: return 16;
621     case UQQmode: return 1;
622     case UHQmode: return 2;
623     case USQmode: return 4;
624     case UDQmode: return 8;
625     case UTQmode: return 16;
626     case HAmode: return 2;
627     case SAmode: return 4;
628     case DAmode: return 8;
629     case TAmode: return 16;
630     case UHAmode: return 2;
631     case USAmode: return 4;
632     case UDAmode: return 8;
633     case UTAmode: return 16;
634     case HFmode: return 2;
635     case SFmode: return 4;
636     case DFmode: return 8;
637     case SDmode: return 4;
638     case DDmode: return 8;
639     case TDmode: return 16;
640     case CQImode: return 1;
641     case CHImode: return 2;
642     case CSImode: return 4;
643     case CDImode: return 8;
644     case CTImode: return 16;
645     case CEImode: return 24;
646     case COImode: return 32;
647     case CCImode: return 48;
648     case CXImode: return 64;
649     case HCmode: return 2;
650     case SCmode: return 4;
651     case DCmode: return 8;
652     case V4QImode: return 1;
653     case V2HImode: return 2;
654     case V8QImode: return 1;
655     case V4HImode: return 2;
656     case V2SImode: return 4;
657     case V16QImode: return 1;
658     case V8HImode: return 2;
659     case V4SImode: return 4;
660     case V2DImode: return 8;
661     case V4QQmode: return 1;
662     case V2HQmode: return 2;
663     case V4UQQmode: return 1;
664     case V2UHQmode: return 2;
665     case V2HAmode: return 2;
666     case V2UHAmode: return 2;
667     case V4HFmode: return 2;
668     case V2SFmode: return 4;
669     case V8HFmode: return 2;
670     case V4SFmode: return 4;
671     case V2DFmode: return 8;
672     default: return mode_unit_size[mode];
673     }
674 }
675 
676 #ifdef __cplusplus
677 inline __attribute__((__always_inline__))
678 #else
679 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
680 #endif
681 unsigned short
682 mode_unit_precision_inline (machine_mode mode)
683 {
684   extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
685   switch (mode)
686     {
687     case VOIDmode: return 0;
688     case BLKmode: return 0;
689     case CCmode: return 4*BITS_PER_UNIT;
690     case CC_NOOVmode: return 4*BITS_PER_UNIT;
691     case CC_Zmode: return 4*BITS_PER_UNIT;
692     case CC_CZmode: return 4*BITS_PER_UNIT;
693     case CC_NCVmode: return 4*BITS_PER_UNIT;
694     case CC_SWPmode: return 4*BITS_PER_UNIT;
695     case CCFPmode: return 4*BITS_PER_UNIT;
696     case CCFPEmode: return 4*BITS_PER_UNIT;
697     case CC_DNEmode: return 4*BITS_PER_UNIT;
698     case CC_DEQmode: return 4*BITS_PER_UNIT;
699     case CC_DLEmode: return 4*BITS_PER_UNIT;
700     case CC_DLTmode: return 4*BITS_PER_UNIT;
701     case CC_DGEmode: return 4*BITS_PER_UNIT;
702     case CC_DGTmode: return 4*BITS_PER_UNIT;
703     case CC_DLEUmode: return 4*BITS_PER_UNIT;
704     case CC_DLTUmode: return 4*BITS_PER_UNIT;
705     case CC_DGEUmode: return 4*BITS_PER_UNIT;
706     case CC_DGTUmode: return 4*BITS_PER_UNIT;
707     case CC_Cmode: return 4*BITS_PER_UNIT;
708     case CC_Nmode: return 4*BITS_PER_UNIT;
709     case BImode: return 1;
710     case QImode: return 1*BITS_PER_UNIT;
711     case HImode: return 2*BITS_PER_UNIT;
712     case SImode: return 4*BITS_PER_UNIT;
713     case DImode: return 8*BITS_PER_UNIT;
714     case TImode: return 16*BITS_PER_UNIT;
715     case EImode: return 24*BITS_PER_UNIT;
716     case OImode: return 32*BITS_PER_UNIT;
717     case CImode: return 48*BITS_PER_UNIT;
718     case XImode: return 64*BITS_PER_UNIT;
719     case QQmode: return 1*BITS_PER_UNIT;
720     case HQmode: return 2*BITS_PER_UNIT;
721     case SQmode: return 4*BITS_PER_UNIT;
722     case DQmode: return 8*BITS_PER_UNIT;
723     case TQmode: return 16*BITS_PER_UNIT;
724     case UQQmode: return 1*BITS_PER_UNIT;
725     case UHQmode: return 2*BITS_PER_UNIT;
726     case USQmode: return 4*BITS_PER_UNIT;
727     case UDQmode: return 8*BITS_PER_UNIT;
728     case UTQmode: return 16*BITS_PER_UNIT;
729     case HAmode: return 2*BITS_PER_UNIT;
730     case SAmode: return 4*BITS_PER_UNIT;
731     case DAmode: return 8*BITS_PER_UNIT;
732     case TAmode: return 16*BITS_PER_UNIT;
733     case UHAmode: return 2*BITS_PER_UNIT;
734     case USAmode: return 4*BITS_PER_UNIT;
735     case UDAmode: return 8*BITS_PER_UNIT;
736     case UTAmode: return 16*BITS_PER_UNIT;
737     case HFmode: return 2*BITS_PER_UNIT;
738     case SFmode: return 4*BITS_PER_UNIT;
739     case DFmode: return 8*BITS_PER_UNIT;
740     case SDmode: return 4*BITS_PER_UNIT;
741     case DDmode: return 8*BITS_PER_UNIT;
742     case TDmode: return 16*BITS_PER_UNIT;
743     case CQImode: return 1*BITS_PER_UNIT;
744     case CHImode: return 2*BITS_PER_UNIT;
745     case CSImode: return 4*BITS_PER_UNIT;
746     case CDImode: return 8*BITS_PER_UNIT;
747     case CTImode: return 16*BITS_PER_UNIT;
748     case CEImode: return 24*BITS_PER_UNIT;
749     case COImode: return 32*BITS_PER_UNIT;
750     case CCImode: return 48*BITS_PER_UNIT;
751     case CXImode: return 64*BITS_PER_UNIT;
752     case HCmode: return 2*BITS_PER_UNIT;
753     case SCmode: return 4*BITS_PER_UNIT;
754     case DCmode: return 8*BITS_PER_UNIT;
755     case V4QImode: return 1*BITS_PER_UNIT;
756     case V2HImode: return 2*BITS_PER_UNIT;
757     case V8QImode: return 1*BITS_PER_UNIT;
758     case V4HImode: return 2*BITS_PER_UNIT;
759     case V2SImode: return 4*BITS_PER_UNIT;
760     case V16QImode: return 1*BITS_PER_UNIT;
761     case V8HImode: return 2*BITS_PER_UNIT;
762     case V4SImode: return 4*BITS_PER_UNIT;
763     case V2DImode: return 8*BITS_PER_UNIT;
764     case V4QQmode: return 1*BITS_PER_UNIT;
765     case V2HQmode: return 2*BITS_PER_UNIT;
766     case V4UQQmode: return 1*BITS_PER_UNIT;
767     case V2UHQmode: return 2*BITS_PER_UNIT;
768     case V2HAmode: return 2*BITS_PER_UNIT;
769     case V2UHAmode: return 2*BITS_PER_UNIT;
770     case V4HFmode: return 2*BITS_PER_UNIT;
771     case V2SFmode: return 4*BITS_PER_UNIT;
772     case V8HFmode: return 2*BITS_PER_UNIT;
773     case V4SFmode: return 4*BITS_PER_UNIT;
774     case V2DFmode: return 8*BITS_PER_UNIT;
775     default: return mode_unit_precision[mode];
776     }
777 }
778 
779 #endif /* GCC_VERSION >= 4001 */
780 
781 #endif /* insn-modes.h */
782