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