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