xref: /netbsd-src/external/gpl3/gcc.old/usr.bin/gcc/arch/hppa/insn-modes.h (revision cef8759bd76c1b621f8eab8faa6f208faabc2e15)
1 /* This file is automatically generated.  DO NOT EDIT! */
2 /* Generated from: NetBSD: mknative-gcc,v 1.97 2019/02/01 09:27:23 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/pa/pa-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   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:250 */
76 #define HAVE_SDmode
77   DDmode,                  /* machmode.def:251 */
78 #define HAVE_DDmode
79   TDmode,                  /* machmode.def:252 */
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:247 */
92 #define HAVE_SCmode
93   DCmode,                  /* machmode.def:247 */
94 #define HAVE_DCmode
95   TCmode,                  /* machmode.def:247 */
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
173 inline __attribute__((__always_inline__))
174 #else
175 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
176 #endif
177 unsigned short
178 mode_size_inline (machine_mode mode)
179 {
180   extern const unsigned short mode_size[NUM_MACHINE_MODES];
181   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
182   switch (mode)
183     {
184     case VOIDmode: return 0;
185     case BLKmode: return 0;
186     case CCmode: return 4;
187     case CCFPmode: return 4;
188     case BImode: return 1;
189     case QImode: return 1;
190     case HImode: return 2;
191     case SImode: return 4;
192     case DImode: return 8;
193     case TImode: return 16;
194     case QQmode: return 1;
195     case HQmode: return 2;
196     case SQmode: return 4;
197     case DQmode: return 8;
198     case TQmode: return 16;
199     case UQQmode: return 1;
200     case UHQmode: return 2;
201     case USQmode: return 4;
202     case UDQmode: return 8;
203     case UTQmode: return 16;
204     case HAmode: return 2;
205     case SAmode: return 4;
206     case DAmode: return 8;
207     case TAmode: return 16;
208     case UHAmode: return 2;
209     case USAmode: return 4;
210     case UDAmode: return 8;
211     case UTAmode: return 16;
212     case SFmode: return 4;
213     case DFmode: return 8;
214     case TFmode: return 16;
215     case SDmode: return 4;
216     case DDmode: return 8;
217     case TDmode: return 16;
218     case CQImode: return 2;
219     case CHImode: return 4;
220     case CSImode: return 8;
221     case CDImode: return 16;
222     case CTImode: return 32;
223     case SCmode: return 8;
224     case DCmode: return 16;
225     case TCmode: return 32;
226     default: return mode_size[mode];
227     }
228 }
229 
230 #ifdef __cplusplus
231 inline __attribute__((__always_inline__))
232 #else
233 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
234 #endif
235 unsigned char
236 mode_nunits_inline (machine_mode mode)
237 {
238   extern const unsigned char mode_nunits[NUM_MACHINE_MODES];
239   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
240   switch (mode)
241     {
242     case VOIDmode: return 0;
243     case BLKmode: return 0;
244     case CCmode: return 1;
245     case CCFPmode: return 1;
246     case BImode: return 1;
247     case QImode: return 1;
248     case HImode: return 1;
249     case SImode: return 1;
250     case DImode: return 1;
251     case TImode: return 1;
252     case QQmode: return 1;
253     case HQmode: return 1;
254     case SQmode: return 1;
255     case DQmode: return 1;
256     case TQmode: return 1;
257     case UQQmode: return 1;
258     case UHQmode: return 1;
259     case USQmode: return 1;
260     case UDQmode: return 1;
261     case UTQmode: return 1;
262     case HAmode: return 1;
263     case SAmode: return 1;
264     case DAmode: return 1;
265     case TAmode: return 1;
266     case UHAmode: return 1;
267     case USAmode: return 1;
268     case UDAmode: return 1;
269     case UTAmode: return 1;
270     case SFmode: return 1;
271     case DFmode: return 1;
272     case TFmode: return 1;
273     case SDmode: return 1;
274     case DDmode: return 1;
275     case TDmode: return 1;
276     case CQImode: return 2;
277     case CHImode: return 2;
278     case CSImode: return 2;
279     case CDImode: return 2;
280     case CTImode: return 2;
281     case SCmode: return 2;
282     case DCmode: return 2;
283     case TCmode: return 2;
284     default: return mode_nunits[mode];
285     }
286 }
287 
288 #ifdef __cplusplus
289 inline __attribute__((__always_inline__))
290 #else
291 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
292 #endif
293 unsigned char
294 mode_inner_inline (machine_mode mode)
295 {
296   extern const unsigned char mode_inner[NUM_MACHINE_MODES];
297   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
298   switch (mode)
299     {
300     case VOIDmode: return VOIDmode;
301     case BLKmode: return BLKmode;
302     case CCmode: return CCmode;
303     case CCFPmode: return CCFPmode;
304     case BImode: return BImode;
305     case QImode: return QImode;
306     case HImode: return HImode;
307     case SImode: return SImode;
308     case DImode: return DImode;
309     case TImode: return TImode;
310     case QQmode: return QQmode;
311     case HQmode: return HQmode;
312     case SQmode: return SQmode;
313     case DQmode: return DQmode;
314     case TQmode: return TQmode;
315     case UQQmode: return UQQmode;
316     case UHQmode: return UHQmode;
317     case USQmode: return USQmode;
318     case UDQmode: return UDQmode;
319     case UTQmode: return UTQmode;
320     case HAmode: return HAmode;
321     case SAmode: return SAmode;
322     case DAmode: return DAmode;
323     case TAmode: return TAmode;
324     case UHAmode: return UHAmode;
325     case USAmode: return USAmode;
326     case UDAmode: return UDAmode;
327     case UTAmode: return UTAmode;
328     case SFmode: return SFmode;
329     case DFmode: return DFmode;
330     case TFmode: return TFmode;
331     case SDmode: return SDmode;
332     case DDmode: return DDmode;
333     case TDmode: return TDmode;
334     case CQImode: return QImode;
335     case CHImode: return HImode;
336     case CSImode: return SImode;
337     case CDImode: return DImode;
338     case CTImode: return TImode;
339     case SCmode: return SFmode;
340     case DCmode: return DFmode;
341     case TCmode: return TFmode;
342     default: return mode_inner[mode];
343     }
344 }
345 
346 #ifdef __cplusplus
347 inline __attribute__((__always_inline__))
348 #else
349 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
350 #endif
351 unsigned char
352 mode_unit_size_inline (machine_mode mode)
353 {
354   extern CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES];
355   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
356   switch (mode)
357     {
358     case VOIDmode: return 0;
359     case BLKmode: return 0;
360     case CCmode: return 4;
361     case CCFPmode: return 4;
362     case BImode: return 1;
363     case QImode: return 1;
364     case HImode: return 2;
365     case SImode: return 4;
366     case DImode: return 8;
367     case TImode: return 16;
368     case QQmode: return 1;
369     case HQmode: return 2;
370     case SQmode: return 4;
371     case DQmode: return 8;
372     case TQmode: return 16;
373     case UQQmode: return 1;
374     case UHQmode: return 2;
375     case USQmode: return 4;
376     case UDQmode: return 8;
377     case UTQmode: return 16;
378     case HAmode: return 2;
379     case SAmode: return 4;
380     case DAmode: return 8;
381     case TAmode: return 16;
382     case UHAmode: return 2;
383     case USAmode: return 4;
384     case UDAmode: return 8;
385     case UTAmode: return 16;
386     case SFmode: return 4;
387     case DFmode: return 8;
388     case TFmode: return 16;
389     case SDmode: return 4;
390     case DDmode: return 8;
391     case TDmode: return 16;
392     case CQImode: return 1;
393     case CHImode: return 2;
394     case CSImode: return 4;
395     case CDImode: return 8;
396     case CTImode: return 16;
397     case SCmode: return 4;
398     case DCmode: return 8;
399     case TCmode: return 16;
400     default: return mode_unit_size[mode];
401     }
402 }
403 
404 #ifdef __cplusplus
405 inline __attribute__((__always_inline__))
406 #else
407 extern __inline__ __attribute__((__always_inline__, __gnu_inline__))
408 #endif
409 unsigned short
410 mode_unit_precision_inline (machine_mode mode)
411 {
412   extern const unsigned short mode_unit_precision[NUM_MACHINE_MODES];
413   gcc_assert (mode >= 0 && mode < NUM_MACHINE_MODES);
414   switch (mode)
415     {
416     case VOIDmode: return 0;
417     case BLKmode: return 0;
418     case CCmode: return 4*BITS_PER_UNIT;
419     case CCFPmode: return 4*BITS_PER_UNIT;
420     case BImode: return 1;
421     case QImode: return 1*BITS_PER_UNIT;
422     case HImode: return 2*BITS_PER_UNIT;
423     case SImode: return 4*BITS_PER_UNIT;
424     case DImode: return 8*BITS_PER_UNIT;
425     case TImode: return 16*BITS_PER_UNIT;
426     case QQmode: return 1*BITS_PER_UNIT;
427     case HQmode: return 2*BITS_PER_UNIT;
428     case SQmode: return 4*BITS_PER_UNIT;
429     case DQmode: return 8*BITS_PER_UNIT;
430     case TQmode: return 16*BITS_PER_UNIT;
431     case UQQmode: return 1*BITS_PER_UNIT;
432     case UHQmode: return 2*BITS_PER_UNIT;
433     case USQmode: return 4*BITS_PER_UNIT;
434     case UDQmode: return 8*BITS_PER_UNIT;
435     case UTQmode: return 16*BITS_PER_UNIT;
436     case HAmode: return 2*BITS_PER_UNIT;
437     case SAmode: return 4*BITS_PER_UNIT;
438     case DAmode: return 8*BITS_PER_UNIT;
439     case TAmode: return 16*BITS_PER_UNIT;
440     case UHAmode: return 2*BITS_PER_UNIT;
441     case USAmode: return 4*BITS_PER_UNIT;
442     case UDAmode: return 8*BITS_PER_UNIT;
443     case UTAmode: return 16*BITS_PER_UNIT;
444     case SFmode: return 4*BITS_PER_UNIT;
445     case DFmode: return 8*BITS_PER_UNIT;
446     case TFmode: return 16*BITS_PER_UNIT;
447     case SDmode: return 4*BITS_PER_UNIT;
448     case DDmode: return 8*BITS_PER_UNIT;
449     case TDmode: return 16*BITS_PER_UNIT;
450     case CQImode: return 1*BITS_PER_UNIT;
451     case CHImode: return 2*BITS_PER_UNIT;
452     case CSImode: return 4*BITS_PER_UNIT;
453     case CDImode: return 8*BITS_PER_UNIT;
454     case CTImode: return 16*BITS_PER_UNIT;
455     case SCmode: return 4*BITS_PER_UNIT;
456     case DCmode: return 8*BITS_PER_UNIT;
457     case TCmode: return 16*BITS_PER_UNIT;
458     default: return mode_unit_precision[mode];
459     }
460 }
461 
462 #endif /* GCC_VERSION >= 4001 */
463 
464 #endif /* insn-modes.h */
465