xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/powerpc/insn-modes.h (revision e6c7e151de239c49d2e38720a061ed9d1fa99309)
1 /* This file is automatically generated.  DO NOT EDIT! */
2 /* Generated from: NetBSD: mknative-gcc,v 1.96 2019/01/19 20:02:06 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/rs6000/rs6000-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   CCUNSmode,               /* config/rs6000/rs6000-modes.def:39 */
20 #define HAVE_CCUNSmode
21   CCFPmode,                /* config/rs6000/rs6000-modes.def:40 */
22 #define HAVE_CCFPmode
23   CCEQmode,                /* config/rs6000/rs6000-modes.def:41 */
24 #define HAVE_CCEQmode
25   BImode,                  /* machmode.def:179 */
26 #define HAVE_BImode
27   QImode,                  /* machmode.def:187 */
28 #define HAVE_QImode
29   HImode,                  /* machmode.def:188 */
30 #define HAVE_HImode
31   SImode,                  /* machmode.def:189 */
32 #define HAVE_SImode
33   DImode,                  /* machmode.def:190 */
34 #define HAVE_DImode
35   TImode,                  /* machmode.def:191 */
36 #define HAVE_TImode
37   PTImode,                 /* config/rs6000/rs6000-modes.def:56 */
38 #define HAVE_PTImode
39   QQmode,                  /* machmode.def:217 */
40 #define HAVE_QQmode
41   HQmode,                  /* machmode.def:218 */
42 #define HAVE_HQmode
43   SQmode,                  /* machmode.def:219 */
44 #define HAVE_SQmode
45   DQmode,                  /* machmode.def:220 */
46 #define HAVE_DQmode
47   TQmode,                  /* machmode.def:221 */
48 #define HAVE_TQmode
49   UQQmode,                 /* machmode.def:223 */
50 #define HAVE_UQQmode
51   UHQmode,                 /* machmode.def:224 */
52 #define HAVE_UHQmode
53   USQmode,                 /* machmode.def:225 */
54 #define HAVE_USQmode
55   UDQmode,                 /* machmode.def:226 */
56 #define HAVE_UDQmode
57   UTQmode,                 /* machmode.def:227 */
58 #define HAVE_UTQmode
59   HAmode,                  /* machmode.def:229 */
60 #define HAVE_HAmode
61   SAmode,                  /* machmode.def:230 */
62 #define HAVE_SAmode
63   DAmode,                  /* machmode.def:231 */
64 #define HAVE_DAmode
65   TAmode,                  /* machmode.def:232 */
66 #define HAVE_TAmode
67   UHAmode,                 /* machmode.def:234 */
68 #define HAVE_UHAmode
69   USAmode,                 /* machmode.def:235 */
70 #define HAVE_USAmode
71   UDAmode,                 /* machmode.def:236 */
72 #define HAVE_UDAmode
73   UTAmode,                 /* machmode.def:237 */
74 #define HAVE_UTAmode
75   SFmode,                  /* machmode.def:209 */
76 #define HAVE_SFmode
77   DFmode,                  /* machmode.def:210 */
78 #define HAVE_DFmode
79   IFmode,                  /* config/rs6000/rs6000-modes.def:23 */
80 #define HAVE_IFmode
81   KFmode,                  /* config/rs6000/rs6000-modes.def:26 */
82 #define HAVE_KFmode
83   TFmode,                  /* config/rs6000/rs6000-modes.def:30 */
84 #define HAVE_TFmode
85   SDmode,                  /* machmode.def:250 */
86 #define HAVE_SDmode
87   DDmode,                  /* machmode.def:251 */
88 #define HAVE_DDmode
89   TDmode,                  /* machmode.def:252 */
90 #define HAVE_TDmode
91   CQImode,                 /* machmode.def:245 */
92 #define HAVE_CQImode
93   CHImode,                 /* machmode.def:245 */
94 #define HAVE_CHImode
95   CSImode,                 /* machmode.def:245 */
96 #define HAVE_CSImode
97   CDImode,                 /* machmode.def:245 */
98 #define HAVE_CDImode
99   CPTImode,                /* machmode.def:246 */
100 #define HAVE_CPTImode
101   CTImode,                 /* machmode.def:245 */
102 #define HAVE_CTImode
103   SCmode,                  /* machmode.def:247 */
104 #define HAVE_SCmode
105   DCmode,                  /* machmode.def:247 */
106 #define HAVE_DCmode
107   ICmode,                  /* machmode.def:247 */
108 #define HAVE_ICmode
109   KCmode,                  /* machmode.def:247 */
110 #define HAVE_KCmode
111   TCmode,                  /* machmode.def:247 */
112 #define HAVE_TCmode
113   V8QImode,                /* config/rs6000/rs6000-modes.def:44 */
114 #define HAVE_V8QImode
115   V4HImode,                /* config/rs6000/rs6000-modes.def:44 */
116 #define HAVE_V4HImode
117   V2SImode,                /* config/rs6000/rs6000-modes.def:44 */
118 #define HAVE_V2SImode
119   V1DImode,                /* config/rs6000/rs6000-modes.def:47 */
120 #define HAVE_V1DImode
121   V16QImode,               /* config/rs6000/rs6000-modes.def:45 */
122 #define HAVE_V16QImode
123   V8HImode,                /* config/rs6000/rs6000-modes.def:45 */
124 #define HAVE_V8HImode
125   V4SImode,                /* config/rs6000/rs6000-modes.def:45 */
126 #define HAVE_V4SImode
127   V2DImode,                /* config/rs6000/rs6000-modes.def:45 */
128 #define HAVE_V2DImode
129   V1TImode,                /* config/rs6000/rs6000-modes.def:48 */
130 #define HAVE_V1TImode
131   V32QImode,               /* config/rs6000/rs6000-modes.def:46 */
132 #define HAVE_V32QImode
133   V16HImode,               /* config/rs6000/rs6000-modes.def:46 */
134 #define HAVE_V16HImode
135   V8SImode,                /* config/rs6000/rs6000-modes.def:46 */
136 #define HAVE_V8SImode
137   V4DImode,                /* config/rs6000/rs6000-modes.def:46 */
138 #define HAVE_V4DImode
139   V2TImode,                /* config/rs6000/rs6000-modes.def:46 */
140 #define HAVE_V2TImode
141   V2SFmode,                /* config/rs6000/rs6000-modes.def:49 */
142 #define HAVE_V2SFmode
143   V4SFmode,                /* config/rs6000/rs6000-modes.def:50 */
144 #define HAVE_V4SFmode
145   V2DFmode,                /* config/rs6000/rs6000-modes.def:50 */
146 #define HAVE_V2DFmode
147   V2IFmode,                /* config/rs6000/rs6000-modes.def:51 */
148 #define HAVE_V2IFmode
149   V2KFmode,                /* config/rs6000/rs6000-modes.def:51 */
150 #define HAVE_V2KFmode
151   V8SFmode,                /* config/rs6000/rs6000-modes.def:51 */
152 #define HAVE_V8SFmode
153   V4DFmode,                /* config/rs6000/rs6000-modes.def:51 */
154 #define HAVE_V4DFmode
155   V2TFmode,                /* config/rs6000/rs6000-modes.def:51 */
156 #define HAVE_V2TFmode
157   MAX_MACHINE_MODE,
158 
159   MIN_MODE_RANDOM = VOIDmode,
160   MAX_MODE_RANDOM = BLKmode,
161 
162   MIN_MODE_CC = CCmode,
163   MAX_MODE_CC = CCEQmode,
164 
165   MIN_MODE_INT = QImode,
166   MAX_MODE_INT = TImode,
167 
168   MIN_MODE_PARTIAL_INT = PTImode,
169   MAX_MODE_PARTIAL_INT = PTImode,
170 
171   MIN_MODE_POINTER_BOUNDS = VOIDmode,
172   MAX_MODE_POINTER_BOUNDS = VOIDmode,
173 
174   MIN_MODE_FRACT = QQmode,
175   MAX_MODE_FRACT = TQmode,
176 
177   MIN_MODE_UFRACT = UQQmode,
178   MAX_MODE_UFRACT = UTQmode,
179 
180   MIN_MODE_ACCUM = HAmode,
181   MAX_MODE_ACCUM = TAmode,
182 
183   MIN_MODE_UACCUM = UHAmode,
184   MAX_MODE_UACCUM = UTAmode,
185 
186   MIN_MODE_FLOAT = SFmode,
187   MAX_MODE_FLOAT = TFmode,
188 
189   MIN_MODE_DECIMAL_FLOAT = SDmode,
190   MAX_MODE_DECIMAL_FLOAT = TDmode,
191 
192   MIN_MODE_COMPLEX_INT = CQImode,
193   MAX_MODE_COMPLEX_INT = CTImode,
194 
195   MIN_MODE_COMPLEX_FLOAT = SCmode,
196   MAX_MODE_COMPLEX_FLOAT = TCmode,
197 
198   MIN_MODE_VECTOR_INT = V8QImode,
199   MAX_MODE_VECTOR_INT = V2TImode,
200 
201   MIN_MODE_VECTOR_FRACT = VOIDmode,
202   MAX_MODE_VECTOR_FRACT = VOIDmode,
203 
204   MIN_MODE_VECTOR_UFRACT = VOIDmode,
205   MAX_MODE_VECTOR_UFRACT = VOIDmode,
206 
207   MIN_MODE_VECTOR_ACCUM = VOIDmode,
208   MAX_MODE_VECTOR_ACCUM = VOIDmode,
209 
210   MIN_MODE_VECTOR_UACCUM = VOIDmode,
211   MAX_MODE_VECTOR_UACCUM = VOIDmode,
212 
213   MIN_MODE_VECTOR_FLOAT = V2SFmode,
214   MAX_MODE_VECTOR_FLOAT = V2TFmode,
215 
216   NUM_MACHINE_MODES = MAX_MACHINE_MODE
217 };
218 
219 #define CONST_MODE_SIZE const
220 #define CONST_MODE_UNIT_SIZE const
221 #define CONST_MODE_BASE_ALIGN const
222 #define CONST_MODE_IBIT const
223 #define CONST_MODE_FBIT const
224 
225 #define BITS_PER_UNIT (8)
226 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT)
227 #define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT)
228 #define NUM_INT_N_ENTS 1
229 
230 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
231 
232 #ifdef __cplusplus
233 inline __attribute__((__always_inline__))
234 #else
235 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
236 #endif
237 unsigned short
238 mode_size_inline (machine_mode mode)
239 {
240   extern const unsigned short mode_size[NUM_MACHINE_MODES];
241   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
242   switch (mode)
243     {
244     case VOIDmode: return 0;
245     case BLKmode: return 0;
246     case CCmode: return 4;
247     case CCUNSmode: return 4;
248     case CCFPmode: return 4;
249     case CCEQmode: return 4;
250     case BImode: return 1;
251     case QImode: return 1;
252     case HImode: return 2;
253     case SImode: return 4;
254     case DImode: return 8;
255     case TImode: return 16;
256     case PTImode: return 16;
257     case QQmode: return 1;
258     case HQmode: return 2;
259     case SQmode: return 4;
260     case DQmode: return 8;
261     case TQmode: return 16;
262     case UQQmode: return 1;
263     case UHQmode: return 2;
264     case USQmode: return 4;
265     case UDQmode: return 8;
266     case UTQmode: return 16;
267     case HAmode: return 2;
268     case SAmode: return 4;
269     case DAmode: return 8;
270     case TAmode: return 16;
271     case UHAmode: return 2;
272     case USAmode: return 4;
273     case UDAmode: return 8;
274     case UTAmode: return 16;
275     case SFmode: return 4;
276     case DFmode: return 8;
277     case IFmode: return 16;
278     case KFmode: return 16;
279     case TFmode: return 16;
280     case SDmode: return 4;
281     case DDmode: return 8;
282     case TDmode: return 16;
283     case CQImode: return 2;
284     case CHImode: return 4;
285     case CSImode: return 8;
286     case CDImode: return 16;
287     case CPTImode: return 32;
288     case CTImode: return 32;
289     case SCmode: return 8;
290     case DCmode: return 16;
291     case ICmode: return 32;
292     case KCmode: return 32;
293     case TCmode: return 32;
294     case V8QImode: return 8;
295     case V4HImode: return 8;
296     case V2SImode: return 8;
297     case V1DImode: return 8;
298     case V16QImode: return 16;
299     case V8HImode: return 16;
300     case V4SImode: return 16;
301     case V2DImode: return 16;
302     case V1TImode: return 16;
303     case V32QImode: return 32;
304     case V16HImode: return 32;
305     case V8SImode: return 32;
306     case V4DImode: return 32;
307     case V2TImode: return 32;
308     case V2SFmode: return 8;
309     case V4SFmode: return 16;
310     case V2DFmode: return 16;
311     case V2IFmode: return 32;
312     case V2KFmode: return 32;
313     case V8SFmode: return 32;
314     case V4DFmode: return 32;
315     case V2TFmode: return 32;
316     default: return mode_size[mode];
317     }
318 }
319 
320 #ifdef __cplusplus
321 inline __attribute__((__always_inline__))
322 #else
323 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
324 #endif
325 unsigned char
326 mode_nunits_inline (machine_mode mode)
327 {
328   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
329   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
330   switch (mode)
331     {
332     case VOIDmode: return 0;
333     case BLKmode: return 0;
334     case CCmode: return 1;
335     case CCUNSmode: return 1;
336     case CCFPmode: return 1;
337     case CCEQmode: return 1;
338     case BImode: return 1;
339     case QImode: return 1;
340     case HImode: return 1;
341     case SImode: return 1;
342     case DImode: return 1;
343     case TImode: return 1;
344     case PTImode: return 1;
345     case QQmode: return 1;
346     case HQmode: return 1;
347     case SQmode: return 1;
348     case DQmode: return 1;
349     case TQmode: return 1;
350     case UQQmode: return 1;
351     case UHQmode: return 1;
352     case USQmode: return 1;
353     case UDQmode: return 1;
354     case UTQmode: return 1;
355     case HAmode: return 1;
356     case SAmode: return 1;
357     case DAmode: return 1;
358     case TAmode: return 1;
359     case UHAmode: return 1;
360     case USAmode: return 1;
361     case UDAmode: return 1;
362     case UTAmode: return 1;
363     case SFmode: return 1;
364     case DFmode: return 1;
365     case IFmode: return 1;
366     case KFmode: return 1;
367     case TFmode: return 1;
368     case SDmode: return 1;
369     case DDmode: return 1;
370     case TDmode: return 1;
371     case CQImode: return 2;
372     case CHImode: return 2;
373     case CSImode: return 2;
374     case CDImode: return 2;
375     case CPTImode: return 2;
376     case CTImode: return 2;
377     case SCmode: return 2;
378     case DCmode: return 2;
379     case ICmode: return 2;
380     case KCmode: return 2;
381     case TCmode: return 2;
382     case V8QImode: return 8;
383     case V4HImode: return 4;
384     case V2SImode: return 2;
385     case V1DImode: return 1;
386     case V16QImode: return 16;
387     case V8HImode: return 8;
388     case V4SImode: return 4;
389     case V2DImode: return 2;
390     case V1TImode: return 1;
391     case V32QImode: return 32;
392     case V16HImode: return 16;
393     case V8SImode: return 8;
394     case V4DImode: return 4;
395     case V2TImode: return 2;
396     case V2SFmode: return 2;
397     case V4SFmode: return 4;
398     case V2DFmode: return 2;
399     case V2IFmode: return 2;
400     case V2KFmode: return 2;
401     case V8SFmode: return 8;
402     case V4DFmode: return 4;
403     case V2TFmode: return 2;
404     default: return mode_nunits[mode];
405     }
406 }
407 
408 #ifdef __cplusplus
409 inline __attribute__((__always_inline__))
410 #else
411 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
412 #endif
413 unsigned char
414 mode_inner_inline (machine_mode mode)
415 {
416   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
417   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
418   switch (mode)
419     {
420     case VOIDmode: return VOIDmode;
421     case BLKmode: return BLKmode;
422     case CCmode: return CCmode;
423     case CCUNSmode: return CCUNSmode;
424     case CCFPmode: return CCFPmode;
425     case CCEQmode: return CCEQmode;
426     case BImode: return BImode;
427     case QImode: return QImode;
428     case HImode: return HImode;
429     case SImode: return SImode;
430     case DImode: return DImode;
431     case TImode: return TImode;
432     case PTImode: return PTImode;
433     case QQmode: return QQmode;
434     case HQmode: return HQmode;
435     case SQmode: return SQmode;
436     case DQmode: return DQmode;
437     case TQmode: return TQmode;
438     case UQQmode: return UQQmode;
439     case UHQmode: return UHQmode;
440     case USQmode: return USQmode;
441     case UDQmode: return UDQmode;
442     case UTQmode: return UTQmode;
443     case HAmode: return HAmode;
444     case SAmode: return SAmode;
445     case DAmode: return DAmode;
446     case TAmode: return TAmode;
447     case UHAmode: return UHAmode;
448     case USAmode: return USAmode;
449     case UDAmode: return UDAmode;
450     case UTAmode: return UTAmode;
451     case SFmode: return SFmode;
452     case DFmode: return DFmode;
453     case IFmode: return IFmode;
454     case KFmode: return KFmode;
455     case TFmode: return TFmode;
456     case SDmode: return SDmode;
457     case DDmode: return DDmode;
458     case TDmode: return TDmode;
459     case CQImode: return QImode;
460     case CHImode: return HImode;
461     case CSImode: return SImode;
462     case CDImode: return DImode;
463     case CPTImode: return PTImode;
464     case CTImode: return TImode;
465     case SCmode: return SFmode;
466     case DCmode: return DFmode;
467     case ICmode: return IFmode;
468     case KCmode: return KFmode;
469     case TCmode: return TFmode;
470     case V8QImode: return QImode;
471     case V4HImode: return HImode;
472     case V2SImode: return SImode;
473     case V1DImode: return DImode;
474     case V16QImode: return QImode;
475     case V8HImode: return HImode;
476     case V4SImode: return SImode;
477     case V2DImode: return DImode;
478     case V1TImode: return TImode;
479     case V32QImode: return QImode;
480     case V16HImode: return HImode;
481     case V8SImode: return SImode;
482     case V4DImode: return DImode;
483     case V2TImode: return TImode;
484     case V2SFmode: return SFmode;
485     case V4SFmode: return SFmode;
486     case V2DFmode: return DFmode;
487     case V2IFmode: return IFmode;
488     case V2KFmode: return KFmode;
489     case V8SFmode: return SFmode;
490     case V4DFmode: return DFmode;
491     case V2TFmode: return TFmode;
492     default: return mode_inner[mode];
493     }
494 }
495 
496 #ifdef __cplusplus
497 inline __attribute__((__always_inline__))
498 #else
499 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
500 #endif
501 unsigned char
502 mode_unit_size_inline (machine_mode mode)
503 {
504   extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
505   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
506   switch (mode)
507     {
508     case VOIDmode: return 0;
509     case BLKmode: return 0;
510     case CCmode: return 4;
511     case CCUNSmode: return 4;
512     case CCFPmode: return 4;
513     case CCEQmode: return 4;
514     case BImode: return 1;
515     case QImode: return 1;
516     case HImode: return 2;
517     case SImode: return 4;
518     case DImode: return 8;
519     case TImode: return 16;
520     case PTImode: return 16;
521     case QQmode: return 1;
522     case HQmode: return 2;
523     case SQmode: return 4;
524     case DQmode: return 8;
525     case TQmode: return 16;
526     case UQQmode: return 1;
527     case UHQmode: return 2;
528     case USQmode: return 4;
529     case UDQmode: return 8;
530     case UTQmode: return 16;
531     case HAmode: return 2;
532     case SAmode: return 4;
533     case DAmode: return 8;
534     case TAmode: return 16;
535     case UHAmode: return 2;
536     case USAmode: return 4;
537     case UDAmode: return 8;
538     case UTAmode: return 16;
539     case SFmode: return 4;
540     case DFmode: return 8;
541     case IFmode: return 16;
542     case KFmode: return 16;
543     case TFmode: return 16;
544     case SDmode: return 4;
545     case DDmode: return 8;
546     case TDmode: return 16;
547     case CQImode: return 1;
548     case CHImode: return 2;
549     case CSImode: return 4;
550     case CDImode: return 8;
551     case CPTImode: return 16;
552     case CTImode: return 16;
553     case SCmode: return 4;
554     case DCmode: return 8;
555     case ICmode: return 16;
556     case KCmode: return 16;
557     case TCmode: return 16;
558     case V8QImode: return 1;
559     case V4HImode: return 2;
560     case V2SImode: return 4;
561     case V1DImode: return 8;
562     case V16QImode: return 1;
563     case V8HImode: return 2;
564     case V4SImode: return 4;
565     case V2DImode: return 8;
566     case V1TImode: return 16;
567     case V32QImode: return 1;
568     case V16HImode: return 2;
569     case V8SImode: return 4;
570     case V4DImode: return 8;
571     case V2TImode: return 16;
572     case V2SFmode: return 4;
573     case V4SFmode: return 4;
574     case V2DFmode: return 8;
575     case V2IFmode: return 16;
576     case V2KFmode: return 16;
577     case V8SFmode: return 4;
578     case V4DFmode: return 8;
579     case V2TFmode: return 16;
580     default: return mode_unit_size[mode];
581     }
582 }
583 
584 #ifdef __cplusplus
585 inline __attribute__((__always_inline__))
586 #else
587 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
588 #endif
589 unsigned short
590 mode_unit_precision_inline (machine_mode mode)
591 {
592   extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
593   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
594   switch (mode)
595     {
596     case VOIDmode: return 0;
597     case BLKmode: return 0;
598     case CCmode: return 4*BITS_PER_UNIT;
599     case CCUNSmode: return 4*BITS_PER_UNIT;
600     case CCFPmode: return 4*BITS_PER_UNIT;
601     case CCEQmode: return 4*BITS_PER_UNIT;
602     case BImode: return 1;
603     case QImode: return 1*BITS_PER_UNIT;
604     case HImode: return 2*BITS_PER_UNIT;
605     case SImode: return 4*BITS_PER_UNIT;
606     case DImode: return 8*BITS_PER_UNIT;
607     case TImode: return 16*BITS_PER_UNIT;
608     case PTImode: return 128;
609     case QQmode: return 1*BITS_PER_UNIT;
610     case HQmode: return 2*BITS_PER_UNIT;
611     case SQmode: return 4*BITS_PER_UNIT;
612     case DQmode: return 8*BITS_PER_UNIT;
613     case TQmode: return 16*BITS_PER_UNIT;
614     case UQQmode: return 1*BITS_PER_UNIT;
615     case UHQmode: return 2*BITS_PER_UNIT;
616     case USQmode: return 4*BITS_PER_UNIT;
617     case UDQmode: return 8*BITS_PER_UNIT;
618     case UTQmode: return 16*BITS_PER_UNIT;
619     case HAmode: return 2*BITS_PER_UNIT;
620     case SAmode: return 4*BITS_PER_UNIT;
621     case DAmode: return 8*BITS_PER_UNIT;
622     case TAmode: return 16*BITS_PER_UNIT;
623     case UHAmode: return 2*BITS_PER_UNIT;
624     case USAmode: return 4*BITS_PER_UNIT;
625     case UDAmode: return 8*BITS_PER_UNIT;
626     case UTAmode: return 16*BITS_PER_UNIT;
627     case SFmode: return 4*BITS_PER_UNIT;
628     case DFmode: return 8*BITS_PER_UNIT;
629     case IFmode: return 106;
630     case KFmode: return 113;
631     case TFmode: return 16*BITS_PER_UNIT;
632     case SDmode: return 4*BITS_PER_UNIT;
633     case DDmode: return 8*BITS_PER_UNIT;
634     case TDmode: return 16*BITS_PER_UNIT;
635     case CQImode: return 1*BITS_PER_UNIT;
636     case CHImode: return 2*BITS_PER_UNIT;
637     case CSImode: return 4*BITS_PER_UNIT;
638     case CDImode: return 8*BITS_PER_UNIT;
639     case CPTImode: return 128;
640     case CTImode: return 16*BITS_PER_UNIT;
641     case SCmode: return 4*BITS_PER_UNIT;
642     case DCmode: return 8*BITS_PER_UNIT;
643     case ICmode: return 106;
644     case KCmode: return 113;
645     case TCmode: return 16*BITS_PER_UNIT;
646     case V8QImode: return 1*BITS_PER_UNIT;
647     case V4HImode: return 2*BITS_PER_UNIT;
648     case V2SImode: return 4*BITS_PER_UNIT;
649     case V1DImode: return 8*BITS_PER_UNIT;
650     case V16QImode: return 1*BITS_PER_UNIT;
651     case V8HImode: return 2*BITS_PER_UNIT;
652     case V4SImode: return 4*BITS_PER_UNIT;
653     case V2DImode: return 8*BITS_PER_UNIT;
654     case V1TImode: return 16*BITS_PER_UNIT;
655     case V32QImode: return 1*BITS_PER_UNIT;
656     case V16HImode: return 2*BITS_PER_UNIT;
657     case V8SImode: return 4*BITS_PER_UNIT;
658     case V4DImode: return 8*BITS_PER_UNIT;
659     case V2TImode: return 16*BITS_PER_UNIT;
660     case V2SFmode: return 4*BITS_PER_UNIT;
661     case V4SFmode: return 4*BITS_PER_UNIT;
662     case V2DFmode: return 8*BITS_PER_UNIT;
663     case V2IFmode: return 106;
664     case V2KFmode: return 113;
665     case V8SFmode: return 4*BITS_PER_UNIT;
666     case V4DFmode: return 8*BITS_PER_UNIT;
667     case V2TFmode: return 16*BITS_PER_UNIT;
668     default: return mode_unit_precision[mode];
669     }
670 }
671 
672 #endif /* GCC_VERSION >= 4001 */
673 
674 #endif /* insn-modes.h */
675