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