xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/alpha/insn-modes.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1 /* This file is automatically generated.  DO NOT EDIT! */
2 /* Generated from: NetBSD: mknative-gcc,v 1.87 2016/03/17 23:41:21 mrg Exp  */
3 /* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
4 
5 /* Generated automatically from machmode.def and config/alpha/alpha-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   TFmode,                  /* config/alpha/alpha-modes.def:22 */
72 #define HAVE_TFmode
73   SDmode,                  /* machmode.def:249 */
74 #define HAVE_SDmode
75   DDmode,                  /* machmode.def:250 */
76 #define HAVE_DDmode
77   TDmode,                  /* machmode.def:251 */
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:246 */
90 #define HAVE_SCmode
91   DCmode,                  /* machmode.def:246 */
92 #define HAVE_DCmode
93   TCmode,                  /* machmode.def:246 */
94 #define HAVE_TCmode
95   V2QImode,                /* config/alpha/alpha-modes.def:27 */
96 #define HAVE_V2QImode
97   V4QImode,                /* config/alpha/alpha-modes.def:26 */
98 #define HAVE_V4QImode
99   V8QImode,                /* config/alpha/alpha-modes.def:25 */
100 #define HAVE_V8QImode
101   V4HImode,                /* config/alpha/alpha-modes.def:25 */
102 #define HAVE_V4HImode
103   V2SImode,                /* config/alpha/alpha-modes.def:25 */
104 #define HAVE_V2SImode
105   MAX_MACHINE_MODE,
106 
107   MIN_MODE_RANDOM = VOIDmode,
108   MAX_MODE_RANDOM = BLKmode,
109 
110   MIN_MODE_CC = CCmode,
111   MAX_MODE_CC = CCmode,
112 
113   MIN_MODE_INT = QImode,
114   MAX_MODE_INT = TImode,
115 
116   MIN_MODE_PARTIAL_INT = VOIDmode,
117   MAX_MODE_PARTIAL_INT = VOIDmode,
118 
119   MIN_MODE_POINTER_BOUNDS = VOIDmode,
120   MAX_MODE_POINTER_BOUNDS = VOIDmode,
121 
122   MIN_MODE_FRACT = QQmode,
123   MAX_MODE_FRACT = TQmode,
124 
125   MIN_MODE_UFRACT = UQQmode,
126   MAX_MODE_UFRACT = UTQmode,
127 
128   MIN_MODE_ACCUM = HAmode,
129   MAX_MODE_ACCUM = TAmode,
130 
131   MIN_MODE_UACCUM = UHAmode,
132   MAX_MODE_UACCUM = UTAmode,
133 
134   MIN_MODE_FLOAT = SFmode,
135   MAX_MODE_FLOAT = TFmode,
136 
137   MIN_MODE_DECIMAL_FLOAT = SDmode,
138   MAX_MODE_DECIMAL_FLOAT = TDmode,
139 
140   MIN_MODE_COMPLEX_INT = CQImode,
141   MAX_MODE_COMPLEX_INT = CTImode,
142 
143   MIN_MODE_COMPLEX_FLOAT = SCmode,
144   MAX_MODE_COMPLEX_FLOAT = TCmode,
145 
146   MIN_MODE_VECTOR_INT = V2QImode,
147   MAX_MODE_VECTOR_INT = V2SImode,
148 
149   MIN_MODE_VECTOR_FRACT = VOIDmode,
150   MAX_MODE_VECTOR_FRACT = VOIDmode,
151 
152   MIN_MODE_VECTOR_UFRACT = VOIDmode,
153   MAX_MODE_VECTOR_UFRACT = VOIDmode,
154 
155   MIN_MODE_VECTOR_ACCUM = VOIDmode,
156   MAX_MODE_VECTOR_ACCUM = VOIDmode,
157 
158   MIN_MODE_VECTOR_UACCUM = VOIDmode,
159   MAX_MODE_VECTOR_UACCUM = VOIDmode,
160 
161   MIN_MODE_VECTOR_FLOAT = VOIDmode,
162   MAX_MODE_VECTOR_FLOAT = VOIDmode,
163 
164   NUM_MACHINE_MODES = MAX_MACHINE_MODE
165 };
166 
167 #define CONST_MODE_SIZE const
168 #define CONST_MODE_BASE_ALIGN const
169 #define CONST_MODE_IBIT const
170 #define CONST_MODE_FBIT const
171 
172 #define BITS_PER_UNIT (8)
173 #define MAX_BITSIZE_MODE_ANY_INT (16*BITS_PER_UNIT)
174 #define MAX_BITSIZE_MODE_ANY_MODE (32*BITS_PER_UNIT)
175 #define NUM_INT_N_ENTS 1
176 
177 #if !defined (USED_FOR_TARGET) && GCC_VERSION >= 4001
178 
179 #ifdef __cplusplus
180 inline __attribute__((__always_inline__))
181 #else
182 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
183 #endif
184 unsigned char
185 mode_size_inline (machine_mode mode)
186 {
187   extern const unsigned char mode_size[NUM_MACHINE_MODES];
188   switch (mode)
189     {
190     case VOIDmode: return 0;
191     case BLKmode: return 0;
192     case CCmode: return 4;
193     case BImode: return 1;
194     case QImode: return 1;
195     case HImode: return 2;
196     case SImode: return 4;
197     case DImode: return 8;
198     case TImode: return 16;
199     case QQmode: return 1;
200     case HQmode: return 2;
201     case SQmode: return 4;
202     case DQmode: return 8;
203     case TQmode: return 16;
204     case UQQmode: return 1;
205     case UHQmode: return 2;
206     case USQmode: return 4;
207     case UDQmode: return 8;
208     case UTQmode: return 16;
209     case HAmode: return 2;
210     case SAmode: return 4;
211     case DAmode: return 8;
212     case TAmode: return 16;
213     case UHAmode: return 2;
214     case USAmode: return 4;
215     case UDAmode: return 8;
216     case UTAmode: return 16;
217     case SFmode: return 4;
218     case DFmode: return 8;
219     case TFmode: return 16;
220     case SDmode: return 4;
221     case DDmode: return 8;
222     case TDmode: return 16;
223     case CQImode: return 2;
224     case CHImode: return 4;
225     case CSImode: return 8;
226     case CDImode: return 16;
227     case CTImode: return 32;
228     case SCmode: return 8;
229     case DCmode: return 16;
230     case TCmode: return 32;
231     case V2QImode: return 2;
232     case V4QImode: return 4;
233     case V8QImode: return 8;
234     case V4HImode: return 8;
235     case V2SImode: return 8;
236     default: return mode_size[mode];
237     }
238 }
239 
240 #ifdef __cplusplus
241 inline __attribute__((__always_inline__))
242 #else
243 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
244 #endif
245 unsigned char
246 mode_nunits_inline (machine_mode mode)
247 {
248   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
249   switch (mode)
250     {
251     case VOIDmode: return 0;
252     case BLKmode: return 0;
253     case CCmode: return 1;
254     case BImode: return 1;
255     case QImode: return 1;
256     case HImode: return 1;
257     case SImode: return 1;
258     case DImode: return 1;
259     case TImode: return 1;
260     case QQmode: return 1;
261     case HQmode: return 1;
262     case SQmode: return 1;
263     case DQmode: return 1;
264     case TQmode: return 1;
265     case UQQmode: return 1;
266     case UHQmode: return 1;
267     case USQmode: return 1;
268     case UDQmode: return 1;
269     case UTQmode: return 1;
270     case HAmode: return 1;
271     case SAmode: return 1;
272     case DAmode: return 1;
273     case TAmode: return 1;
274     case UHAmode: return 1;
275     case USAmode: return 1;
276     case UDAmode: return 1;
277     case UTAmode: return 1;
278     case SFmode: return 1;
279     case DFmode: return 1;
280     case TFmode: return 1;
281     case SDmode: return 1;
282     case DDmode: return 1;
283     case TDmode: return 1;
284     case CQImode: return 2;
285     case CHImode: return 2;
286     case CSImode: return 2;
287     case CDImode: return 2;
288     case CTImode: return 2;
289     case SCmode: return 2;
290     case DCmode: return 2;
291     case TCmode: return 2;
292     case V2QImode: return 2;
293     case V4QImode: return 4;
294     case V8QImode: return 8;
295     case V4HImode: return 4;
296     case V2SImode: return 2;
297     default: return mode_nunits[mode];
298     }
299 }
300 
301 #ifdef __cplusplus
302 inline __attribute__((__always_inline__))
303 #else
304 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
305 #endif
306 unsigned char
307 mode_inner_inline (machine_mode mode)
308 {
309   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
310   switch (mode)
311     {
312     case VOIDmode: return VOIDmode;
313     case BLKmode: return VOIDmode;
314     case CCmode: return VOIDmode;
315     case BImode: return VOIDmode;
316     case QImode: return VOIDmode;
317     case HImode: return VOIDmode;
318     case SImode: return VOIDmode;
319     case DImode: return VOIDmode;
320     case TImode: return VOIDmode;
321     case QQmode: return VOIDmode;
322     case HQmode: return VOIDmode;
323     case SQmode: return VOIDmode;
324     case DQmode: return VOIDmode;
325     case TQmode: return VOIDmode;
326     case UQQmode: return VOIDmode;
327     case UHQmode: return VOIDmode;
328     case USQmode: return VOIDmode;
329     case UDQmode: return VOIDmode;
330     case UTQmode: return VOIDmode;
331     case HAmode: return VOIDmode;
332     case SAmode: return VOIDmode;
333     case DAmode: return VOIDmode;
334     case TAmode: return VOIDmode;
335     case UHAmode: return VOIDmode;
336     case USAmode: return VOIDmode;
337     case UDAmode: return VOIDmode;
338     case UTAmode: return VOIDmode;
339     case SFmode: return VOIDmode;
340     case DFmode: return VOIDmode;
341     case TFmode: return VOIDmode;
342     case SDmode: return VOIDmode;
343     case DDmode: return VOIDmode;
344     case TDmode: return VOIDmode;
345     case CQImode: return QImode;
346     case CHImode: return HImode;
347     case CSImode: return SImode;
348     case CDImode: return DImode;
349     case CTImode: return TImode;
350     case SCmode: return SFmode;
351     case DCmode: return DFmode;
352     case TCmode: return TFmode;
353     case V2QImode: return QImode;
354     case V4QImode: return QImode;
355     case V8QImode: return QImode;
356     case V4HImode: return HImode;
357     case V2SImode: return SImode;
358     default: return mode_inner[mode];
359     }
360 }
361 
362 #endif /* GCC_VERSION >= 4001 */
363 
364 #endif /* insn-modes.h */
365