insn-modes.h revision 1.3
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
11enum 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
171inline __attribute__((__always_inline__))
172#else
173extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
174#endif
175unsigned short
176mode_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
228inline __attribute__((__always_inline__))
229#else
230extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
231#endif
232unsigned char
233mode_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
285inline __attribute__((__always_inline__))
286#else
287extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
288#endif
289unsigned char
290mode_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
342inline __attribute__((__always_inline__))
343#else
344extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
345#endif
346unsigned char
347mode_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
399inline __attribute__((__always_inline__))
400#else
401extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
402#endif
403unsigned short
404mode_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