xref: /netbsd-src/external/gpl3/gcc/usr.bin/gcc/arch/vax/insn-modes.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
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/vax/vax-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:249 */
72 #define HAVE_SDmode
73   DDmode,                  /* machmode.def:250 */
74 #define HAVE_DDmode
75   TDmode,                  /* machmode.def:251 */
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:246 */
88 #define HAVE_SCmode
89   DCmode,                  /* machmode.def:246 */
90 #define HAVE_DCmode
91   MAX_MACHINE_MODE,
92 
93   MIN_MODE_RANDOM = VOIDmode,
94   MAX_MODE_RANDOM = BLKmode,
95 
96   MIN_MODE_CC = CCmode,
97   MAX_MODE_CC = CCmode,
98 
99   MIN_MODE_INT = QImode,
100   MAX_MODE_INT = TImode,
101 
102   MIN_MODE_PARTIAL_INT = VOIDmode,
103   MAX_MODE_PARTIAL_INT = VOIDmode,
104 
105   MIN_MODE_POINTER_BOUNDS = VOIDmode,
106   MAX_MODE_POINTER_BOUNDS = VOIDmode,
107 
108   MIN_MODE_FRACT = QQmode,
109   MAX_MODE_FRACT = TQmode,
110 
111   MIN_MODE_UFRACT = UQQmode,
112   MAX_MODE_UFRACT = UTQmode,
113 
114   MIN_MODE_ACCUM = HAmode,
115   MAX_MODE_ACCUM = TAmode,
116 
117   MIN_MODE_UACCUM = UHAmode,
118   MAX_MODE_UACCUM = UTAmode,
119 
120   MIN_MODE_FLOAT = SFmode,
121   MAX_MODE_FLOAT = DFmode,
122 
123   MIN_MODE_DECIMAL_FLOAT = SDmode,
124   MAX_MODE_DECIMAL_FLOAT = TDmode,
125 
126   MIN_MODE_COMPLEX_INT = CQImode,
127   MAX_MODE_COMPLEX_INT = CTImode,
128 
129   MIN_MODE_COMPLEX_FLOAT = SCmode,
130   MAX_MODE_COMPLEX_FLOAT = DCmode,
131 
132   MIN_MODE_VECTOR_INT = VOIDmode,
133   MAX_MODE_VECTOR_INT = VOIDmode,
134 
135   MIN_MODE_VECTOR_FRACT = VOIDmode,
136   MAX_MODE_VECTOR_FRACT = VOIDmode,
137 
138   MIN_MODE_VECTOR_UFRACT = VOIDmode,
139   MAX_MODE_VECTOR_UFRACT = VOIDmode,
140 
141   MIN_MODE_VECTOR_ACCUM = VOIDmode,
142   MAX_MODE_VECTOR_ACCUM = VOIDmode,
143 
144   MIN_MODE_VECTOR_UACCUM = VOIDmode,
145   MAX_MODE_VECTOR_UACCUM = VOIDmode,
146 
147   MIN_MODE_VECTOR_FLOAT = VOIDmode,
148   MAX_MODE_VECTOR_FLOAT = VOIDmode,
149 
150   NUM_MACHINE_MODES = MAX_MACHINE_MODE
151 };
152 
153 #define CONST_MODE_SIZE const
154 #define CONST_MODE_UNIT_SIZE const
155 #define CONST_MODE_BASE_ALIGN const
156 #define CONST_MODE_IBIT const
157 #define CONST_MODE_FBIT const
158 
159 #define BITS_PER_UNIT (8)
160 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT)
161 #define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT)
162 #define NUM_INT_N_ENTS 1
163 
164 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
165 
166 #ifdef __cplusplus
167 inline __attribute__((__always_inline__))
168 #else
169 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
170 #endif
171 unsigned char
172 mode_size_inline (machine_mode mode)
173 {
174   extern const unsigned char mode_size[NUM_MACHINE_MODES];
175   switch (mode)
176     {
177     case VOIDmode: return 0;
178     case BLKmode: return 0;
179     case CCmode: return 4;
180     case BImode: return 1;
181     case QImode: return 1;
182     case HImode: return 2;
183     case SImode: return 4;
184     case DImode: return 8;
185     case TImode: return 16;
186     case QQmode: return 1;
187     case HQmode: return 2;
188     case SQmode: return 4;
189     case DQmode: return 8;
190     case TQmode: return 16;
191     case UQQmode: return 1;
192     case UHQmode: return 2;
193     case USQmode: return 4;
194     case UDQmode: return 8;
195     case UTQmode: return 16;
196     case HAmode: return 2;
197     case SAmode: return 4;
198     case DAmode: return 8;
199     case TAmode: return 16;
200     case UHAmode: return 2;
201     case USAmode: return 4;
202     case UDAmode: return 8;
203     case UTAmode: return 16;
204     case SFmode: return 4;
205     case DFmode: return 8;
206     case SDmode: return 4;
207     case DDmode: return 8;
208     case TDmode: return 16;
209     case CQImode: return 2;
210     case CHImode: return 4;
211     case CSImode: return 8;
212     case CDImode: return 16;
213     case CTImode: return 32;
214     case SCmode: return 8;
215     case DCmode: return 16;
216     default: return mode_size[mode];
217     }
218 }
219 
220 #ifdef __cplusplus
221 inline __attribute__((__always_inline__))
222 #else
223 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
224 #endif
225 unsigned char
226 mode_nunits_inline (machine_mode mode)
227 {
228   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
229   switch (mode)
230     {
231     case VOIDmode: return 0;
232     case BLKmode: return 0;
233     case CCmode: return 1;
234     case BImode: return 1;
235     case QImode: return 1;
236     case HImode: return 1;
237     case SImode: return 1;
238     case DImode: return 1;
239     case TImode: return 1;
240     case QQmode: return 1;
241     case HQmode: return 1;
242     case SQmode: return 1;
243     case DQmode: return 1;
244     case TQmode: return 1;
245     case UQQmode: return 1;
246     case UHQmode: return 1;
247     case USQmode: return 1;
248     case UDQmode: return 1;
249     case UTQmode: return 1;
250     case HAmode: return 1;
251     case SAmode: return 1;
252     case DAmode: return 1;
253     case TAmode: return 1;
254     case UHAmode: return 1;
255     case USAmode: return 1;
256     case UDAmode: return 1;
257     case UTAmode: return 1;
258     case SFmode: return 1;
259     case DFmode: return 1;
260     case SDmode: return 1;
261     case DDmode: return 1;
262     case TDmode: return 1;
263     case CQImode: return 2;
264     case CHImode: return 2;
265     case CSImode: return 2;
266     case CDImode: return 2;
267     case CTImode: return 2;
268     case SCmode: return 2;
269     case DCmode: return 2;
270     default: return mode_nunits[mode];
271     }
272 }
273 
274 #ifdef __cplusplus
275 inline __attribute__((__always_inline__))
276 #else
277 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
278 #endif
279 unsigned char
280 mode_inner_inline (machine_mode mode)
281 {
282   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
283   switch (mode)
284     {
285     case VOIDmode: return VOIDmode;
286     case BLKmode: return BLKmode;
287     case CCmode: return CCmode;
288     case BImode: return BImode;
289     case QImode: return QImode;
290     case HImode: return HImode;
291     case SImode: return SImode;
292     case DImode: return DImode;
293     case TImode: return TImode;
294     case QQmode: return QQmode;
295     case HQmode: return HQmode;
296     case SQmode: return SQmode;
297     case DQmode: return DQmode;
298     case TQmode: return TQmode;
299     case UQQmode: return UQQmode;
300     case UHQmode: return UHQmode;
301     case USQmode: return USQmode;
302     case UDQmode: return UDQmode;
303     case UTQmode: return UTQmode;
304     case HAmode: return HAmode;
305     case SAmode: return SAmode;
306     case DAmode: return DAmode;
307     case TAmode: return TAmode;
308     case UHAmode: return UHAmode;
309     case USAmode: return USAmode;
310     case UDAmode: return UDAmode;
311     case UTAmode: return UTAmode;
312     case SFmode: return SFmode;
313     case DFmode: return DFmode;
314     case SDmode: return SDmode;
315     case DDmode: return DDmode;
316     case TDmode: return TDmode;
317     case CQImode: return QImode;
318     case CHImode: return HImode;
319     case CSImode: return SImode;
320     case CDImode: return DImode;
321     case CTImode: return TImode;
322     case SCmode: return SFmode;
323     case DCmode: return DFmode;
324     default: return mode_inner[mode];
325     }
326 }
327 
328 #ifdef __cplusplus
329 inline __attribute__((__always_inline__))
330 #else
331 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
332 #endif
333 unsigned char
334 mode_unit_size_inline (machine_mode mode)
335 {
336   extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
337   switch (mode)
338     {
339     case VOIDmode: return 0;
340     case BLKmode: return 0;
341     case CCmode: return 4;
342     case BImode: return 1;
343     case QImode: return 1;
344     case HImode: return 2;
345     case SImode: return 4;
346     case DImode: return 8;
347     case TImode: return 16;
348     case QQmode: return 1;
349     case HQmode: return 2;
350     case SQmode: return 4;
351     case DQmode: return 8;
352     case TQmode: return 16;
353     case UQQmode: return 1;
354     case UHQmode: return 2;
355     case USQmode: return 4;
356     case UDQmode: return 8;
357     case UTQmode: return 16;
358     case HAmode: return 2;
359     case SAmode: return 4;
360     case DAmode: return 8;
361     case TAmode: return 16;
362     case UHAmode: return 2;
363     case USAmode: return 4;
364     case UDAmode: return 8;
365     case UTAmode: return 16;
366     case SFmode: return 4;
367     case DFmode: return 8;
368     case SDmode: return 4;
369     case DDmode: return 8;
370     case TDmode: return 16;
371     case CQImode: return 1;
372     case CHImode: return 2;
373     case CSImode: return 4;
374     case CDImode: return 8;
375     case CTImode: return 16;
376     case SCmode: return 4;
377     case DCmode: return 8;
378     default: return mode_unit_size[mode];
379     }
380 }
381 
382 #ifdef __cplusplus
383 inline __attribute__((__always_inline__))
384 #else
385 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
386 #endif
387 unsigned short
388 mode_unit_precision_inline (machine_mode mode)
389 {
390   extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
391   switch (mode)
392     {
393     case VOIDmode: return 0;
394     case BLKmode: return 0;
395     case CCmode: return 4*BITS_PER_UNIT;
396     case BImode: return 1;
397     case QImode: return 1*BITS_PER_UNIT;
398     case HImode: return 2*BITS_PER_UNIT;
399     case SImode: return 4*BITS_PER_UNIT;
400     case DImode: return 8*BITS_PER_UNIT;
401     case TImode: return 16*BITS_PER_UNIT;
402     case QQmode: return 1*BITS_PER_UNIT;
403     case HQmode: return 2*BITS_PER_UNIT;
404     case SQmode: return 4*BITS_PER_UNIT;
405     case DQmode: return 8*BITS_PER_UNIT;
406     case TQmode: return 16*BITS_PER_UNIT;
407     case UQQmode: return 1*BITS_PER_UNIT;
408     case UHQmode: return 2*BITS_PER_UNIT;
409     case USQmode: return 4*BITS_PER_UNIT;
410     case UDQmode: return 8*BITS_PER_UNIT;
411     case UTQmode: return 16*BITS_PER_UNIT;
412     case HAmode: return 2*BITS_PER_UNIT;
413     case SAmode: return 4*BITS_PER_UNIT;
414     case DAmode: return 8*BITS_PER_UNIT;
415     case TAmode: return 16*BITS_PER_UNIT;
416     case UHAmode: return 2*BITS_PER_UNIT;
417     case USAmode: return 4*BITS_PER_UNIT;
418     case UDAmode: return 8*BITS_PER_UNIT;
419     case UTAmode: return 16*BITS_PER_UNIT;
420     case SFmode: return 4*BITS_PER_UNIT;
421     case DFmode: return 8*BITS_PER_UNIT;
422     case SDmode: return 4*BITS_PER_UNIT;
423     case DDmode: return 8*BITS_PER_UNIT;
424     case TDmode: return 16*BITS_PER_UNIT;
425     case CQImode: return 1*BITS_PER_UNIT;
426     case CHImode: return 2*BITS_PER_UNIT;
427     case CSImode: return 4*BITS_PER_UNIT;
428     case CDImode: return 8*BITS_PER_UNIT;
429     case CTImode: return 16*BITS_PER_UNIT;
430     case SCmode: return 4*BITS_PER_UNIT;
431     case DCmode: return 8*BITS_PER_UNIT;
432     default: return mode_unit_precision[mode];
433     }
434 }
435 
436 #endif /* GCC_VERSION >= 4001 */
437 
438 #endif /* insn-modes.h */
439