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