1/* This file is auto-generated by i386-builtin-types.awk.  */
2
3enum ix86_builtin_type {
4  IX86_BT_VOID,
5  IX86_BT_CHAR,
6  IX86_BT_UCHAR,
7  IX86_BT_QI,
8  IX86_BT_HI,
9  IX86_BT_SI,
10  IX86_BT_DI,
11  IX86_BT_UQI,
12  IX86_BT_UHI,
13  IX86_BT_USI,
14  IX86_BT_UDI,
15  IX86_BT_USHORT,
16  IX86_BT_INT,
17  IX86_BT_UINT,
18  IX86_BT_UNSIGNED,
19  IX86_BT_LONGLONG,
20  IX86_BT_ULONGLONG,
21  IX86_BT_UINT8,
22  IX86_BT_UINT16,
23  IX86_BT_INT64,
24  IX86_BT_UINT64,
25  IX86_BT_FLOAT,
26  IX86_BT_DOUBLE,
27  IX86_BT_FLOAT80,
28  IX86_BT_FLOAT128,
29  IX86_BT_LAST_PRIM = IX86_BT_FLOAT128,
30  IX86_BT_V2SF,
31  IX86_BT_V1DI,
32  IX86_BT_V2SI,
33  IX86_BT_V4HI,
34  IX86_BT_V8QI,
35  IX86_BT_V2DF,
36  IX86_BT_V4SF,
37  IX86_BT_V2DI,
38  IX86_BT_V4SI,
39  IX86_BT_V8HI,
40  IX86_BT_V16QI,
41  IX86_BT_V2UDI,
42  IX86_BT_V4USI,
43  IX86_BT_V8UHI,
44  IX86_BT_V16UQI,
45  IX86_BT_V4DF,
46  IX86_BT_V8SF,
47  IX86_BT_V4DI,
48  IX86_BT_V8SI,
49  IX86_BT_V16HI,
50  IX86_BT_V32QI,
51  IX86_BT_V4UDI,
52  IX86_BT_V8USI,
53  IX86_BT_LAST_VECT = IX86_BT_V8USI,
54  IX86_BT_PCHAR,
55  IX86_BT_PVOID,
56  IX86_BT_PDOUBLE,
57  IX86_BT_PFLOAT,
58  IX86_BT_PUSHORT,
59  IX86_BT_PINT,
60  IX86_BT_PLONGLONG,
61  IX86_BT_PULONGLONG,
62  IX86_BT_PUNSIGNED,
63  IX86_BT_PV2SI,
64  IX86_BT_PV2DF,
65  IX86_BT_PV2DI,
66  IX86_BT_PV2SF,
67  IX86_BT_PV4DF,
68  IX86_BT_PV4DI,
69  IX86_BT_PV4SF,
70  IX86_BT_PV8SF,
71  IX86_BT_PV4SI,
72  IX86_BT_PV8SI,
73  IX86_BT_LAST_PTR = IX86_BT_PV8SI,
74  IX86_BT_PCCHAR,
75  IX86_BT_PCDOUBLE,
76  IX86_BT_PCFLOAT,
77  IX86_BT_PCINT,
78  IX86_BT_PCINT64,
79  IX86_BT_PCVOID,
80  IX86_BT_PCV2SI,
81  IX86_BT_PCV2DF,
82  IX86_BT_PCV2SF,
83  IX86_BT_PCV4DF,
84  IX86_BT_PCV4SF,
85  IX86_BT_PCV8SF,
86  IX86_BT_PCV2DI,
87  IX86_BT_PCV4SI,
88  IX86_BT_PCV4DI,
89  IX86_BT_PCV8SI,
90  IX86_BT_LAST_CPTR = IX86_BT_PCV8SI
91}
92;
93
94
95#define DEFINE_BUILTIN_PRIMITIVE_TYPES \
96  ix86_builtin_type_tab[(int)IX86_BT_VOID] = void_type_node, \
97  ix86_builtin_type_tab[(int)IX86_BT_CHAR] = char_type_node, \
98  ix86_builtin_type_tab[(int)IX86_BT_UCHAR] = unsigned_char_type_node, \
99  ix86_builtin_type_tab[(int)IX86_BT_QI] = char_type_node, \
100  ix86_builtin_type_tab[(int)IX86_BT_HI] = intHI_type_node, \
101  ix86_builtin_type_tab[(int)IX86_BT_SI] = intSI_type_node, \
102  ix86_builtin_type_tab[(int)IX86_BT_DI] = long_long_integer_type_node, \
103  ix86_builtin_type_tab[(int)IX86_BT_UQI] = unsigned_intQI_type_node, \
104  ix86_builtin_type_tab[(int)IX86_BT_UHI] = unsigned_intHI_type_node, \
105  ix86_builtin_type_tab[(int)IX86_BT_USI] = unsigned_intSI_type_node, \
106  ix86_builtin_type_tab[(int)IX86_BT_UDI] = long_long_unsigned_type_node, \
107  ix86_builtin_type_tab[(int)IX86_BT_USHORT] = short_unsigned_type_node, \
108  ix86_builtin_type_tab[(int)IX86_BT_INT] = integer_type_node, \
109  ix86_builtin_type_tab[(int)IX86_BT_UINT] = unsigned_type_node, \
110  ix86_builtin_type_tab[(int)IX86_BT_UNSIGNED] = unsigned_type_node, \
111  ix86_builtin_type_tab[(int)IX86_BT_LONGLONG] = long_long_integer_type_node, \
112  ix86_builtin_type_tab[(int)IX86_BT_ULONGLONG] = long_long_unsigned_type_node, \
113  ix86_builtin_type_tab[(int)IX86_BT_UINT8] = unsigned_char_type_node, \
114  ix86_builtin_type_tab[(int)IX86_BT_UINT16] = short_unsigned_type_node, \
115  ix86_builtin_type_tab[(int)IX86_BT_INT64] = long_long_integer_type_node, \
116  ix86_builtin_type_tab[(int)IX86_BT_UINT64] = long_long_unsigned_type_node, \
117  ix86_builtin_type_tab[(int)IX86_BT_FLOAT] = float_type_node, \
118  ix86_builtin_type_tab[(int)IX86_BT_DOUBLE] = double_type_node, \
119  ix86_builtin_type_tab[(int)IX86_BT_FLOAT80] = float80_type_node, \
120  ix86_builtin_type_tab[(int)IX86_BT_FLOAT128] = float128_type_node
121
122
123static const enum machine_mode ix86_builtin_type_vect_mode[] = {
124  V2SFmode, V1DImode, V2SImode, V4HImode, V8QImode, V2DFmode,
125  V4SFmode, V2DImode, V4SImode, V8HImode, V16QImode, V2DImode,
126  V4SImode, V8HImode, V16QImode, V4DFmode, V8SFmode, V4DImode,
127  V8SImode, V16HImode, V32QImode, V4DImode, V8SImode
128};
129
130
131static const enum ix86_builtin_type ix86_builtin_type_vect_base[] = {
132  IX86_BT_FLOAT, IX86_BT_DI, IX86_BT_SI, IX86_BT_HI,
133  IX86_BT_QI, IX86_BT_DOUBLE, IX86_BT_FLOAT, IX86_BT_DI,
134  IX86_BT_SI, IX86_BT_HI, IX86_BT_QI, IX86_BT_UDI,
135  IX86_BT_USI, IX86_BT_UHI, IX86_BT_UQI, IX86_BT_DOUBLE,
136  IX86_BT_FLOAT, IX86_BT_DI, IX86_BT_SI, IX86_BT_HI,
137  IX86_BT_QI, IX86_BT_UDI, IX86_BT_USI
138};
139
140
141static const enum ix86_builtin_type ix86_builtin_type_ptr_base[] = {
142  IX86_BT_CHAR, IX86_BT_VOID, IX86_BT_DOUBLE, IX86_BT_FLOAT,
143  IX86_BT_USHORT, IX86_BT_INT, IX86_BT_LONGLONG, IX86_BT_ULONGLONG,
144  IX86_BT_UNSIGNED, IX86_BT_V2SI, IX86_BT_V2DF, IX86_BT_V2DI,
145  IX86_BT_V2SF, IX86_BT_V4DF, IX86_BT_V4DI, IX86_BT_V4SF,
146  IX86_BT_V8SF, IX86_BT_V4SI, IX86_BT_V8SI,
147  /* pointer-to-constant defs start here */
148  IX86_BT_CHAR, IX86_BT_DOUBLE, IX86_BT_FLOAT, IX86_BT_INT,
149  IX86_BT_INT64, IX86_BT_VOID, IX86_BT_V2SI, IX86_BT_V2DF,
150  IX86_BT_V2SF, IX86_BT_V4DF, IX86_BT_V4SF, IX86_BT_V8SF,
151  IX86_BT_V2DI, IX86_BT_V4SI, IX86_BT_V4DI, IX86_BT_V8SI
152};
153
154
155enum ix86_builtin_func_type {
156  FLOAT128_FTYPE_VOID,
157  UINT64_FTYPE_VOID,
158  UNSIGNED_FTYPE_VOID,
159  INT_FTYPE_VOID,
160  VOID_FTYPE_VOID,
161  PVOID_FTYPE_VOID,
162  FLOAT_FTYPE_FLOAT,
163  FLOAT128_FTYPE_FLOAT128,
164  INT_FTYPE_INT,
165  INT_FTYPE_V16QI,
166  INT_FTYPE_V2DF,
167  INT_FTYPE_V4DF,
168  INT_FTYPE_V4SF,
169  INT_FTYPE_V8QI,
170  INT_FTYPE_V8SF,
171  INT_FTYPE_V32QI,
172  INT_FTYPE_PCCHAR,
173  INT64_FTYPE_INT64,
174  INT64_FTYPE_V2DF,
175  INT64_FTYPE_V4SF,
176  UINT64_FTYPE_INT,
177  UINT16_FTYPE_UINT16,
178  UINT64_FTYPE_PUNSIGNED,
179  V16QI_FTYPE_PCCHAR,
180  V16QI_FTYPE_V16QI,
181  V2DF_FTYPE_PCDOUBLE,
182  V2DF_FTYPE_V2DF,
183  V2DF_FTYPE_V2SI,
184  V2DF_FTYPE_V4DF,
185  V2DF_FTYPE_V4SF,
186  V2DF_FTYPE_V4SI,
187  V2DI_FTYPE_PV2DI,
188  V2DI_FTYPE_V16QI,
189  V2DI_FTYPE_V2DI,
190  V2DI_FTYPE_V4SI,
191  V2DI_FTYPE_V8HI,
192  V2SF_FTYPE_V2SF,
193  V2SF_FTYPE_V2SI,
194  V2SI_FTYPE_V2DF,
195  V2SI_FTYPE_V2SF,
196  V2SI_FTYPE_V2SI,
197  V2SI_FTYPE_PCV2SI,
198  V2SI_FTYPE_V4SF,
199  V32QI_FTYPE_PCCHAR,
200  V4DF_FTYPE_PCDOUBLE,
201  V4DF_FTYPE_PCV2DF,
202  V4DF_FTYPE_V2DF,
203  V4DF_FTYPE_V4DF,
204  V4DF_FTYPE_V4SF,
205  V4DF_FTYPE_V4SI,
206  V4HI_FTYPE_V4HI,
207  V4SF_FTYPE_PCFLOAT,
208  V4SF_FTYPE_V2DF,
209  V4SF_FTYPE_V4DF,
210  V4SF_FTYPE_V4SF,
211  V4SF_FTYPE_PCV4SF,
212  V4SF_FTYPE_V4SI,
213  V4SF_FTYPE_V8SF,
214  V4SF_FTYPE_V8HI,
215  V4SI_FTYPE_V16QI,
216  V4SI_FTYPE_V2DF,
217  V4SI_FTYPE_V4DF,
218  V4SI_FTYPE_V4SF,
219  V4SI_FTYPE_V4SI,
220  V4SI_FTYPE_V8HI,
221  V4SI_FTYPE_V8SI,
222  V8HI_FTYPE_V16QI,
223  V8HI_FTYPE_V8HI,
224  V8QI_FTYPE_V8QI,
225  V8SF_FTYPE_PCFLOAT,
226  V8SF_FTYPE_PCV4SF,
227  V8SF_FTYPE_PCV8SF,
228  V8SF_FTYPE_V4SF,
229  V8SF_FTYPE_V8SF,
230  V8SF_FTYPE_V8SI,
231  V8SF_FTYPE_V8HI,
232  V8SI_FTYPE_V4SI,
233  V8SI_FTYPE_V8SF,
234  V32QI_FTYPE_V32QI,
235  V32QI_FTYPE_V16QI,
236  V16HI_FTYPE_V16HI,
237  V16HI_FTYPE_V8HI,
238  V8SI_FTYPE_V8SI,
239  VOID_FTYPE_PCVOID,
240  VOID_FTYPE_PVOID,
241  VOID_FTYPE_UINT64,
242  VOID_FTYPE_UNSIGNED,
243  INT_FTYPE_PUSHORT,
244  INT_FTYPE_PUNSIGNED,
245  INT_FTYPE_PULONGLONG,
246  V16HI_FTYPE_V16QI,
247  V8SI_FTYPE_V16QI,
248  V4DI_FTYPE_V16QI,
249  V8SI_FTYPE_V8HI,
250  V4DI_FTYPE_V8HI,
251  V4DI_FTYPE_V4SI,
252  V4DI_FTYPE_PV4DI,
253  V4DI_FTYPE_V2DI,
254  DI_FTYPE_V2DI_INT,
255  DOUBLE_FTYPE_V2DF_INT,
256  FLOAT_FTYPE_V4SF_INT,
257  FLOAT128_FTYPE_FLOAT128_FLOAT128,
258  HI_FTYPE_V4HI_INT,
259  HI_FTYPE_V8HI_INT,
260  INT_FTYPE_V2DF_V2DF,
261  INT_FTYPE_V2DI_V2DI,
262  INT_FTYPE_V4DF_V4DF,
263  INT_FTYPE_V4DI_V4DI,
264  INT_FTYPE_V4SF_V4SF,
265  INT_FTYPE_V8SF_V8SF,
266  QI_FTYPE_V16QI_INT,
267  QI_FTYPE_V8QI_INT,
268  SI_FTYPE_V2SI_INT,
269  SI_FTYPE_V4SI_INT,
270  UINT_FTYPE_UINT_UCHAR,
271  UINT_FTYPE_UINT_UINT,
272  UINT_FTYPE_UINT_USHORT,
273  UINT16_FTYPE_UINT16_INT,
274  UINT64_FTYPE_UINT64_UINT64,
275  UINT8_FTYPE_UINT8_INT,
276  V16QI_FTYPE_V16QI_SI,
277  V16QI_FTYPE_V16QI_V16QI,
278  V16QI_FTYPE_V8HI_V8HI,
279  V1DI_FTYPE_V1DI_SI,
280  V1DI_FTYPE_V1DI_V1DI,
281  V1DI_FTYPE_V2SI_V2SI,
282  V1DI_FTYPE_V8QI_V8QI,
283  V2DF_FTYPE_PCV2DF_V2DI,
284  V2DF_FTYPE_V2DF_DI,
285  V2DF_FTYPE_V2DF_INT,
286  V2DF_FTYPE_V2DF_PCDOUBLE,
287  V2DF_FTYPE_V2DF_SI,
288  V2DF_FTYPE_V2DF_V2DF,
289  V2DF_FTYPE_V2DF_V2DI,
290  V2DF_FTYPE_V2DF_V4SF,
291  V2DF_FTYPE_V4DF_INT,
292  V2DI_FTYPE_V16QI_V16QI,
293  V2DI_FTYPE_V2DF_V2DF,
294  V2DI_FTYPE_V2DI_INT,
295  V2DI_FTYPE_V2DI_SI,
296  V2DI_FTYPE_V2DI_V16QI,
297  V2DI_FTYPE_V2DI_V2DI,
298  V2DI_FTYPE_V4SI_V4SI,
299  V2UDI_FTYPE_V4USI_V4USI,
300  V2DI_FTYPE_PCV2DI_V2DI,
301  V2SF_FTYPE_V2SF_V2SF,
302  V2SI_FTYPE_INT_INT,
303  V2SI_FTYPE_V2SF_V2SF,
304  V2SI_FTYPE_V2SI_SI,
305  V2SI_FTYPE_V2SI_V2SI,
306  V2SI_FTYPE_V4HI_V4HI,
307  V4DF_FTYPE_PCV4DF_V4DI,
308  V4DF_FTYPE_V4DF_INT,
309  V4DF_FTYPE_V4DF_V4DF,
310  V4DF_FTYPE_V4DF_V4DI,
311  V4HI_FTYPE_V2SI_V2SI,
312  V4HI_FTYPE_V4HI_INT,
313  V4HI_FTYPE_V4HI_SI,
314  V4HI_FTYPE_V4HI_V4HI,
315  V4HI_FTYPE_V8QI_V8QI,
316  V4SF_FTYPE_PCV4SF_V4SI,
317  V4SF_FTYPE_V4SF_DI,
318  V4SF_FTYPE_V4SF_INT,
319  V4SF_FTYPE_V4SF_PCV2SF,
320  V4SF_FTYPE_V4SF_SI,
321  V4SF_FTYPE_V4SF_V2DF,
322  V4SF_FTYPE_V4SF_V2SI,
323  V4SF_FTYPE_V4SF_V4SF,
324  V4SF_FTYPE_V4SF_V4SI,
325  V4SF_FTYPE_V8SF_INT,
326  V4SI_FTYPE_V2DF_V2DF,
327  V4SI_FTYPE_V4SF_V4SF,
328  V4SI_FTYPE_V4SI_INT,
329  V4SI_FTYPE_V4SI_SI,
330  V4SI_FTYPE_V4SI_V4SI,
331  V4SI_FTYPE_V8HI_V8HI,
332  V4SI_FTYPE_V8SI_INT,
333  V4SI_FTYPE_PCV4SI_V4SI,
334  V8HI_FTYPE_V16QI_V16QI,
335  V8HI_FTYPE_V4SI_V4SI,
336  V8HI_FTYPE_V8HI_INT,
337  V8HI_FTYPE_V8HI_SI,
338  V8HI_FTYPE_V8HI_V8HI,
339  V8HI_FTYPE_V8SF_INT,
340  V8HI_FTYPE_V4SF_INT,
341  V8QI_FTYPE_V4HI_V4HI,
342  V8QI_FTYPE_V8QI_V8QI,
343  V8SF_FTYPE_PCV8SF_V8SI,
344  V8SF_FTYPE_V8SF_INT,
345  V8SF_FTYPE_V8SF_V8SF,
346  V8SF_FTYPE_V8SF_V8SI,
347  V32QI_FTYPE_V16HI_V16HI,
348  V16HI_FTYPE_V8SI_V8SI,
349  V32QI_FTYPE_V32QI_V32QI,
350  V16HI_FTYPE_V32QI_V32QI,
351  V16HI_FTYPE_V16HI_V8HI,
352  V16HI_FTYPE_V16HI_V16HI,
353  V16HI_FTYPE_V16HI_INT,
354  V16HI_FTYPE_V16HI_SI,
355  V16HI_FTYPE_V16HI_V16HI_INT,
356  V32QI_FTYPE_V32QI_V32QI_INT,
357  V8SI_FTYPE_V4DF_V4DF,
358  V8SI_FTYPE_V8SI_V4SI,
359  V8SI_FTYPE_V8SI_V8SI,
360  V8SI_FTYPE_V16HI_V16HI,
361  V8SI_FTYPE_V8SI_INT,
362  V8SI_FTYPE_V8SI_SI,
363  V8SI_FTYPE_PCV8SI_V8SI,
364  V4DI_FTYPE_V4DI_V4DI,
365  V4DI_FTYPE_V8SI_V8SI,
366  V4UDI_FTYPE_V8USI_V8USI,
367  V4DI_FTYPE_V4DI_V2DI,
368  V4DI_FTYPE_PCV4DI_V4DI,
369  V4DI_FTYPE_V4DI_INT,
370  V2DI_FTYPE_V4DI_INT,
371  VOID_FTYPE_PVOID_INT64,
372  VOID_FTYPE_PCHAR_V16QI,
373  VOID_FTYPE_PCHAR_V32QI,
374  VOID_FTYPE_PDOUBLE_V2DF,
375  VOID_FTYPE_PDOUBLE_V4DF,
376  VOID_FTYPE_PFLOAT_V4SF,
377  VOID_FTYPE_PFLOAT_V8SF,
378  VOID_FTYPE_PINT_INT,
379  VOID_FTYPE_PLONGLONG_LONGLONG,
380  VOID_FTYPE_PULONGLONG_ULONGLONG,
381  VOID_FTYPE_PV2SI_V2SI,
382  VOID_FTYPE_PV2DI_V2DI,
383  VOID_FTYPE_PV2SF_V4SF,
384  VOID_FTYPE_PV4DI_V4DI,
385  VOID_FTYPE_PV4SF_V4SF,
386  VOID_FTYPE_PV8SF_V8SF,
387  VOID_FTYPE_UNSIGNED_UNSIGNED,
388  INT_FTYPE_V16QI_V16QI_INT,
389  UCHAR_FTYPE_UINT_UINT_UINT,
390  UCHAR_FTYPE_UINT64_UINT_UINT,
391  V16HI_FTYPE_V16HI_V16HI_V16HI,
392  V16QI_FTYPE_V16QI_QI_INT,
393  V16QI_FTYPE_V16QI_V16QI_INT,
394  V16QI_FTYPE_V16QI_V16QI_V16QI,
395  V1DI_FTYPE_V1DI_V1DI_INT,
396  V2DF_FTYPE_V2DF_V2DF_INT,
397  V2DF_FTYPE_V2DF_V2DF_V2DF,
398  V2DF_FTYPE_V2DF_V2DF_V2DI_INT,
399  V2DI_FTYPE_V2DI_DI_INT,
400  V2DI_FTYPE_V2DI_UINT_UINT,
401  V2DI_FTYPE_V2DI_V2DI_INT,
402  V2DI_FTYPE_V2DI_V2DI_V2DI,
403  V32QI_FTYPE_V32QI_V32QI_V32QI,
404  V4DF_FTYPE_V4DF_V2DF_INT,
405  V4DF_FTYPE_V4DF_V4DF_INT,
406  V4DF_FTYPE_V4DF_V4DF_V4DF,
407  V4DF_FTYPE_V4DF_V4DF_V4DI_INT,
408  V4DI_FTYPE_V4DI_V4DI_V4DI,
409  V4HI_FTYPE_V4HI_HI_INT,
410  V4SF_FTYPE_V4SF_FLOAT_INT,
411  V4SF_FTYPE_V4SF_V4SF_INT,
412  V4SF_FTYPE_V4SF_V4SF_V4SF,
413  V4SF_FTYPE_V4SF_V4SF_V4SI_INT,
414  V4SI_FTYPE_V4SI_SI_INT,
415  V4SI_FTYPE_V4SI_V4SI_INT,
416  V4SI_FTYPE_V4SI_V4SI_V2DI,
417  V4SI_FTYPE_V4SI_V4SI_V4SI,
418  V8HI_FTYPE_V8HI_HI_INT,
419  V8HI_FTYPE_V8HI_V8HI_INT,
420  V8HI_FTYPE_V8HI_V8HI_V4SI,
421  V8HI_FTYPE_V8HI_V8HI_V8HI,
422  V8SF_FTYPE_V8SF_V4SF_INT,
423  V8SF_FTYPE_V8SF_V8SF_INT,
424  V8SF_FTYPE_V8SF_V8SF_V8SF,
425  V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
426  V8SI_FTYPE_V8SI_V4SI_INT,
427  V8SI_FTYPE_V8SI_V8SI_INT,
428  V8SI_FTYPE_V8SI_V8SI_V8SI,
429  V4DI_FTYPE_V4DI_V4DI_INT,
430  V4DI_FTYPE_V4DI_V2DI_INT,
431  VOID_FTYPE_PCVOID_UNSIGNED_UNSIGNED,
432  VOID_FTYPE_PV2DF_V2DI_V2DF,
433  VOID_FTYPE_PV4DF_V4DI_V4DF,
434  VOID_FTYPE_PV4SF_V4SI_V4SF,
435  VOID_FTYPE_PV8SF_V8SI_V8SF,
436  VOID_FTYPE_PV2DI_V2DI_V2DI,
437  VOID_FTYPE_PV4DI_V4DI_V4DI,
438  VOID_FTYPE_PV4SI_V4SI_V4SI,
439  VOID_FTYPE_PV8SI_V8SI_V8SI,
440  VOID_FTYPE_UINT_UINT_UINT,
441  VOID_FTYPE_UINT64_UINT_UINT,
442  VOID_FTYPE_V16QI_V16QI_PCHAR,
443  VOID_FTYPE_V8QI_V8QI_PCHAR,
444  V2DF_FTYPE_V2DF_V2DF_V2DI,
445  V4SF_FTYPE_V4SF_V4SF_V4SI,
446  V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
447  V4USI_FTYPE_V4USI_V4USI_V4USI,
448  V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
449  V16UQI_FTYPE_V16UQI_V16UQI_V16UQI,
450  V4DF_FTYPE_V4DF_V4DF_V4DI,
451  V8SF_FTYPE_V8SF_V8SF_V8SI,
452  V2DI_FTYPE_V2DI_V2DI_UINT_UINT,
453  V4HI_FTYPE_HI_HI_HI_HI,
454  INT_FTYPE_V16QI_INT_V16QI_INT_INT,
455  V16QI_FTYPE_V16QI_INT_V16QI_INT_INT,
456  V8QI_FTYPE_QI_QI_QI_QI_QI_QI_QI_QI,
457  UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED,
458  UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG,
459  V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_V2DF_INT,
460  V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_V4DF_INT,
461  V4DF_FTYPE_V4DF_PCDOUBLE_V8SI_V4DF_INT,
462  V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_V2DF_INT,
463  V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_V4DF_INT,
464  V4SF_FTYPE_V4SF_PCFLOAT_V4SI_V4SF_INT,
465  V8SF_FTYPE_V8SF_PCFLOAT_V8SI_V8SF_INT,
466  V4SF_FTYPE_V4SF_PCFLOAT_V2DI_V4SF_INT,
467  V4SF_FTYPE_V4SF_PCFLOAT_V4DI_V4SF_INT,
468  V8SF_FTYPE_V8SF_PCFLOAT_V4DI_V8SF_INT,
469  V2DI_FTYPE_V2DI_PCINT64_V4SI_V2DI_INT,
470  V4DI_FTYPE_V4DI_PCINT64_V4SI_V4DI_INT,
471  V4DI_FTYPE_V4DI_PCINT64_V8SI_V4DI_INT,
472  V2DI_FTYPE_V2DI_PCINT64_V2DI_V2DI_INT,
473  V4DI_FTYPE_V4DI_PCINT64_V4DI_V4DI_INT,
474  V4SI_FTYPE_V4SI_PCINT_V4SI_V4SI_INT,
475  V8SI_FTYPE_V8SI_PCINT_V8SI_V8SI_INT,
476  V4SI_FTYPE_V4SI_PCINT_V2DI_V4SI_INT,
477  V4SI_FTYPE_V4SI_PCINT_V4DI_V4SI_INT,
478  V8SI_FTYPE_V8SI_PCINT_V4DI_V8SI_INT,
479  IX86_BT_LAST_FUNC = V8SI_FTYPE_V8SI_PCINT_V4DI_V8SI_INT,
480  V2DF_FTYPE_V2DF_ROUND,
481  V4DF_FTYPE_V4DF_ROUND,
482  V4SF_FTYPE_V4SF_ROUND,
483  V8SF_FTYPE_V8SF_ROUND,
484  V4SI_FTYPE_V2DF_V2DF_ROUND,
485  V8SI_FTYPE_V4DF_V4DF_ROUND,
486  V4SI_FTYPE_V4SF_ROUND,
487  V8SI_FTYPE_V8SF_ROUND,
488  INT_FTYPE_V2DF_V2DF_PTEST,
489  INT_FTYPE_V2DI_V2DI_PTEST,
490  INT_FTYPE_V4DF_V4DF_PTEST,
491  INT_FTYPE_V4DI_V4DI_PTEST,
492  INT_FTYPE_V4SF_V4SF_PTEST,
493  INT_FTYPE_V8SF_V8SF_PTEST,
494  V2DF_FTYPE_V2DF_VEC_MERGE,
495  V4SF_FTYPE_V4SF_VEC_MERGE,
496  V1DI_FTYPE_V1DI_SI_COUNT,
497  V2DI_FTYPE_V2DI_SI_COUNT,
498  V2SI_FTYPE_V2SI_SI_COUNT,
499  V4HI_FTYPE_V4HI_SI_COUNT,
500  V4SI_FTYPE_V4SI_SI_COUNT,
501  V8HI_FTYPE_V8HI_SI_COUNT,
502  V1DI_FTYPE_V1DI_V1DI_COUNT,
503  V2DI_FTYPE_V2DI_V2DI_COUNT,
504  V2SI_FTYPE_V2SI_V2SI_COUNT,
505  V4HI_FTYPE_V4HI_V4HI_COUNT,
506  V4SI_FTYPE_V4SI_V4SI_COUNT,
507  V8HI_FTYPE_V8HI_V8HI_COUNT,
508  V16HI_FTYPE_V16HI_SI_COUNT,
509  V16HI_FTYPE_V16HI_V8HI_COUNT,
510  V8SI_FTYPE_V8SI_SI_COUNT,
511  V8SI_FTYPE_V8SI_V4SI_COUNT,
512  V4DI_FTYPE_V4DI_INT_COUNT,
513  V4DI_FTYPE_V4DI_V2DI_COUNT,
514  V2DF_FTYPE_V2DF_V2DF_SWAP,
515  V4SF_FTYPE_V4SF_V4SF_SWAP,
516  V4DI_FTYPE_V4DI_INT_CONVERT,
517  V2DI_FTYPE_V2DI_INT_CONVERT,
518  V4DI_FTYPE_V4DI_V4DI_INT_CONVERT,
519  V2DI_FTYPE_V2DI_V2DI_INT_CONVERT,
520  V1DI_FTYPE_V1DI_V1DI_INT_CONVERT,
521  V16QI_FTYPE_V16QI_V16QI_CMP,
522  V2DI_FTYPE_V2DI_V2DI_CMP,
523  V4SI_FTYPE_V4SI_V4SI_CMP,
524  V8HI_FTYPE_V8HI_V8HI_CMP,
525  V16QI_FTYPE_V16QI_V16QI_TF,
526  V2DF_FTYPE_V2DF_V2DF_TF,
527  V2DI_FTYPE_V2DI_V2DI_TF,
528  V4SF_FTYPE_V4SF_V4SF_TF,
529  V4SI_FTYPE_V4SI_V4SI_TF,
530  V8HI_FTYPE_V8HI_V8HI_TF,
531  IX86_BT_LAST_ALIAS = V8HI_FTYPE_V8HI_V8HI_TF
532}
533;
534
535
536static const enum ix86_builtin_type ix86_builtin_func_args[] = {
537  IX86_BT_FLOAT128, IX86_BT_UINT64, IX86_BT_UNSIGNED, IX86_BT_INT,
538  IX86_BT_VOID, IX86_BT_PVOID, IX86_BT_FLOAT, IX86_BT_FLOAT,
539  IX86_BT_FLOAT128, IX86_BT_FLOAT128, IX86_BT_INT, IX86_BT_INT,
540  IX86_BT_INT, IX86_BT_V16QI, IX86_BT_INT, IX86_BT_V2DF,
541  IX86_BT_INT, IX86_BT_V4DF, IX86_BT_INT, IX86_BT_V4SF,
542  IX86_BT_INT, IX86_BT_V8QI, IX86_BT_INT, IX86_BT_V8SF,
543  IX86_BT_INT, IX86_BT_V32QI, IX86_BT_INT, IX86_BT_PCCHAR,
544  IX86_BT_INT64, IX86_BT_INT64, IX86_BT_INT64, IX86_BT_V2DF,
545  IX86_BT_INT64, IX86_BT_V4SF, IX86_BT_UINT64, IX86_BT_INT,
546  IX86_BT_UINT16, IX86_BT_UINT16, IX86_BT_UINT64, IX86_BT_PUNSIGNED,
547  IX86_BT_V16QI, IX86_BT_PCCHAR, IX86_BT_V16QI, IX86_BT_V16QI,
548  IX86_BT_V2DF, IX86_BT_PCDOUBLE, IX86_BT_V2DF, IX86_BT_V2DF,
549  IX86_BT_V2DF, IX86_BT_V2SI, IX86_BT_V2DF, IX86_BT_V4DF,
550  IX86_BT_V2DF, IX86_BT_V4SF, IX86_BT_V2DF, IX86_BT_V4SI,
551  IX86_BT_V2DI, IX86_BT_PV2DI, IX86_BT_V2DI, IX86_BT_V16QI,
552  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V4SI,
553  IX86_BT_V2DI, IX86_BT_V8HI, IX86_BT_V2SF, IX86_BT_V2SF,
554  IX86_BT_V2SF, IX86_BT_V2SI, IX86_BT_V2SI, IX86_BT_V2DF,
555  IX86_BT_V2SI, IX86_BT_V2SF, IX86_BT_V2SI, IX86_BT_V2SI,
556  IX86_BT_V2SI, IX86_BT_PCV2SI, IX86_BT_V2SI, IX86_BT_V4SF,
557  IX86_BT_V32QI, IX86_BT_PCCHAR, IX86_BT_V4DF, IX86_BT_PCDOUBLE,
558  IX86_BT_V4DF, IX86_BT_PCV2DF, IX86_BT_V4DF, IX86_BT_V2DF,
559  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4SF,
560  IX86_BT_V4DF, IX86_BT_V4SI, IX86_BT_V4HI, IX86_BT_V4HI,
561  IX86_BT_V4SF, IX86_BT_PCFLOAT, IX86_BT_V4SF, IX86_BT_V2DF,
562  IX86_BT_V4SF, IX86_BT_V4DF, IX86_BT_V4SF, IX86_BT_V4SF,
563  IX86_BT_V4SF, IX86_BT_PCV4SF, IX86_BT_V4SF, IX86_BT_V4SI,
564  IX86_BT_V4SF, IX86_BT_V8SF, IX86_BT_V4SF, IX86_BT_V8HI,
565  IX86_BT_V4SI, IX86_BT_V16QI, IX86_BT_V4SI, IX86_BT_V2DF,
566  IX86_BT_V4SI, IX86_BT_V4DF, IX86_BT_V4SI, IX86_BT_V4SF,
567  IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V8HI,
568  IX86_BT_V4SI, IX86_BT_V8SI, IX86_BT_V8HI, IX86_BT_V16QI,
569  IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_V8QI, IX86_BT_V8QI,
570  IX86_BT_V8SF, IX86_BT_PCFLOAT, IX86_BT_V8SF, IX86_BT_PCV4SF,
571  IX86_BT_V8SF, IX86_BT_PCV8SF, IX86_BT_V8SF, IX86_BT_V4SF,
572  IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SI,
573  IX86_BT_V8SF, IX86_BT_V8HI, IX86_BT_V8SI, IX86_BT_V4SI,
574  IX86_BT_V8SI, IX86_BT_V8SF, IX86_BT_V32QI, IX86_BT_V32QI,
575  IX86_BT_V32QI, IX86_BT_V16QI, IX86_BT_V16HI, IX86_BT_V16HI,
576  IX86_BT_V16HI, IX86_BT_V8HI, IX86_BT_V8SI, IX86_BT_V8SI,
577  IX86_BT_VOID, IX86_BT_PCVOID, IX86_BT_VOID, IX86_BT_PVOID,
578  IX86_BT_VOID, IX86_BT_UINT64, IX86_BT_VOID, IX86_BT_UNSIGNED,
579  IX86_BT_INT, IX86_BT_PUSHORT, IX86_BT_INT, IX86_BT_PUNSIGNED,
580  IX86_BT_INT, IX86_BT_PULONGLONG, IX86_BT_V16HI, IX86_BT_V16QI,
581  IX86_BT_V8SI, IX86_BT_V16QI, IX86_BT_V4DI, IX86_BT_V16QI,
582  IX86_BT_V8SI, IX86_BT_V8HI, IX86_BT_V4DI, IX86_BT_V8HI,
583  IX86_BT_V4DI, IX86_BT_V4SI, IX86_BT_V4DI, IX86_BT_PV4DI,
584  IX86_BT_V4DI, IX86_BT_V2DI, IX86_BT_DI, IX86_BT_V2DI,
585  IX86_BT_INT, IX86_BT_DOUBLE, IX86_BT_V2DF, IX86_BT_INT,
586  IX86_BT_FLOAT, IX86_BT_V4SF, IX86_BT_INT, IX86_BT_FLOAT128,
587  IX86_BT_FLOAT128, IX86_BT_FLOAT128, IX86_BT_HI, IX86_BT_V4HI,
588  IX86_BT_INT, IX86_BT_HI, IX86_BT_V8HI, IX86_BT_INT,
589  IX86_BT_INT, IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_INT,
590  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_INT, IX86_BT_V4DF,
591  IX86_BT_V4DF, IX86_BT_INT, IX86_BT_V4DI, IX86_BT_V4DI,
592  IX86_BT_INT, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_INT,
593  IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_QI, IX86_BT_V16QI,
594  IX86_BT_INT, IX86_BT_QI, IX86_BT_V8QI, IX86_BT_INT,
595  IX86_BT_SI, IX86_BT_V2SI, IX86_BT_INT, IX86_BT_SI,
596  IX86_BT_V4SI, IX86_BT_INT, IX86_BT_UINT, IX86_BT_UINT,
597  IX86_BT_UCHAR, IX86_BT_UINT, IX86_BT_UINT, IX86_BT_UINT,
598  IX86_BT_UINT, IX86_BT_UINT, IX86_BT_USHORT, IX86_BT_UINT16,
599  IX86_BT_UINT16, IX86_BT_INT, IX86_BT_UINT64, IX86_BT_UINT64,
600  IX86_BT_UINT64, IX86_BT_UINT8, IX86_BT_UINT8, IX86_BT_INT,
601  IX86_BT_V16QI, IX86_BT_V16QI, IX86_BT_SI, IX86_BT_V16QI,
602  IX86_BT_V16QI, IX86_BT_V16QI, IX86_BT_V16QI, IX86_BT_V8HI,
603  IX86_BT_V8HI, IX86_BT_V1DI, IX86_BT_V1DI, IX86_BT_SI,
604  IX86_BT_V1DI, IX86_BT_V1DI, IX86_BT_V1DI, IX86_BT_V1DI,
605  IX86_BT_V2SI, IX86_BT_V2SI, IX86_BT_V1DI, IX86_BT_V8QI,
606  IX86_BT_V8QI, IX86_BT_V2DF, IX86_BT_PCV2DF, IX86_BT_V2DI,
607  IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_DI, IX86_BT_V2DF,
608  IX86_BT_V2DF, IX86_BT_INT, IX86_BT_V2DF, IX86_BT_V2DF,
609  IX86_BT_PCDOUBLE, IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_SI,
610  IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_V2DF,
611  IX86_BT_V2DF, IX86_BT_V2DI, IX86_BT_V2DF, IX86_BT_V2DF,
612  IX86_BT_V4SF, IX86_BT_V2DF, IX86_BT_V4DF, IX86_BT_INT,
613  IX86_BT_V2DI, IX86_BT_V16QI, IX86_BT_V16QI, IX86_BT_V2DI,
614  IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_V2DI, IX86_BT_V2DI,
615  IX86_BT_INT, IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_SI,
616  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V16QI, IX86_BT_V2DI,
617  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V4SI,
618  IX86_BT_V4SI, IX86_BT_V2UDI, IX86_BT_V4USI, IX86_BT_V4USI,
619  IX86_BT_V2DI, IX86_BT_PCV2DI, IX86_BT_V2DI, IX86_BT_V2SF,
620  IX86_BT_V2SF, IX86_BT_V2SF, IX86_BT_V2SI, IX86_BT_INT,
621  IX86_BT_INT, IX86_BT_V2SI, IX86_BT_V2SF, IX86_BT_V2SF,
622  IX86_BT_V2SI, IX86_BT_V2SI, IX86_BT_SI, IX86_BT_V2SI,
623  IX86_BT_V2SI, IX86_BT_V2SI, IX86_BT_V2SI, IX86_BT_V4HI,
624  IX86_BT_V4HI, IX86_BT_V4DF, IX86_BT_PCV4DF, IX86_BT_V4DI,
625  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_INT, IX86_BT_V4DF,
626  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DF,
627  IX86_BT_V4DI, IX86_BT_V4HI, IX86_BT_V2SI, IX86_BT_V2SI,
628  IX86_BT_V4HI, IX86_BT_V4HI, IX86_BT_INT, IX86_BT_V4HI,
629  IX86_BT_V4HI, IX86_BT_SI, IX86_BT_V4HI, IX86_BT_V4HI,
630  IX86_BT_V4HI, IX86_BT_V4HI, IX86_BT_V8QI, IX86_BT_V8QI,
631  IX86_BT_V4SF, IX86_BT_PCV4SF, IX86_BT_V4SI, IX86_BT_V4SF,
632  IX86_BT_V4SF, IX86_BT_DI, IX86_BT_V4SF, IX86_BT_V4SF,
633  IX86_BT_INT, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_PCV2SF,
634  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_SI, IX86_BT_V4SF,
635  IX86_BT_V4SF, IX86_BT_V2DF, IX86_BT_V4SF, IX86_BT_V4SF,
636  IX86_BT_V2SI, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SF,
637  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SI, IX86_BT_V4SF,
638  IX86_BT_V8SF, IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V2DF,
639  IX86_BT_V2DF, IX86_BT_V4SI, IX86_BT_V4SF, IX86_BT_V4SF,
640  IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_INT, IX86_BT_V4SI,
641  IX86_BT_V4SI, IX86_BT_SI, IX86_BT_V4SI, IX86_BT_V4SI,
642  IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V8HI, IX86_BT_V8HI,
643  IX86_BT_V4SI, IX86_BT_V8SI, IX86_BT_INT, IX86_BT_V4SI,
644  IX86_BT_PCV4SI, IX86_BT_V4SI, IX86_BT_V8HI, IX86_BT_V16QI,
645  IX86_BT_V16QI, IX86_BT_V8HI, IX86_BT_V4SI, IX86_BT_V4SI,
646  IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_INT, IX86_BT_V8HI,
647  IX86_BT_V8HI, IX86_BT_SI, IX86_BT_V8HI, IX86_BT_V8HI,
648  IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_V8SF, IX86_BT_INT,
649  IX86_BT_V8HI, IX86_BT_V4SF, IX86_BT_INT, IX86_BT_V8QI,
650  IX86_BT_V4HI, IX86_BT_V4HI, IX86_BT_V8QI, IX86_BT_V8QI,
651  IX86_BT_V8QI, IX86_BT_V8SF, IX86_BT_PCV8SF, IX86_BT_V8SI,
652  IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_INT, IX86_BT_V8SF,
653  IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF,
654  IX86_BT_V8SI, IX86_BT_V32QI, IX86_BT_V16HI, IX86_BT_V16HI,
655  IX86_BT_V16HI, IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_V32QI,
656  IX86_BT_V32QI, IX86_BT_V32QI, IX86_BT_V16HI, IX86_BT_V32QI,
657  IX86_BT_V32QI, IX86_BT_V16HI, IX86_BT_V16HI, IX86_BT_V8HI,
658  IX86_BT_V16HI, IX86_BT_V16HI, IX86_BT_V16HI, IX86_BT_V16HI,
659  IX86_BT_V16HI, IX86_BT_INT, IX86_BT_V16HI, IX86_BT_V16HI,
660  IX86_BT_SI, IX86_BT_V16HI, IX86_BT_V16HI, IX86_BT_V16HI,
661  IX86_BT_INT, IX86_BT_V32QI, IX86_BT_V32QI, IX86_BT_V32QI,
662  IX86_BT_INT, IX86_BT_V8SI, IX86_BT_V4DF, IX86_BT_V4DF,
663  IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_V4SI, IX86_BT_V8SI,
664  IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_V16HI,
665  IX86_BT_V16HI, IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_INT,
666  IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_SI, IX86_BT_V8SI,
667  IX86_BT_PCV8SI, IX86_BT_V8SI, IX86_BT_V4DI, IX86_BT_V4DI,
668  IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_V8SI, IX86_BT_V8SI,
669  IX86_BT_V4UDI, IX86_BT_V8USI, IX86_BT_V8USI, IX86_BT_V4DI,
670  IX86_BT_V4DI, IX86_BT_V2DI, IX86_BT_V4DI, IX86_BT_PCV4DI,
671  IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_INT,
672  IX86_BT_V2DI, IX86_BT_V4DI, IX86_BT_INT, IX86_BT_VOID,
673  IX86_BT_PVOID, IX86_BT_INT64, IX86_BT_VOID, IX86_BT_PCHAR,
674  IX86_BT_V16QI, IX86_BT_VOID, IX86_BT_PCHAR, IX86_BT_V32QI,
675  IX86_BT_VOID, IX86_BT_PDOUBLE, IX86_BT_V2DF, IX86_BT_VOID,
676  IX86_BT_PDOUBLE, IX86_BT_V4DF, IX86_BT_VOID, IX86_BT_PFLOAT,
677  IX86_BT_V4SF, IX86_BT_VOID, IX86_BT_PFLOAT, IX86_BT_V8SF,
678  IX86_BT_VOID, IX86_BT_PINT, IX86_BT_INT, IX86_BT_VOID,
679  IX86_BT_PLONGLONG, IX86_BT_LONGLONG, IX86_BT_VOID, IX86_BT_PULONGLONG,
680  IX86_BT_ULONGLONG, IX86_BT_VOID, IX86_BT_PV2SI, IX86_BT_V2SI,
681  IX86_BT_VOID, IX86_BT_PV2DI, IX86_BT_V2DI, IX86_BT_VOID,
682  IX86_BT_PV2SF, IX86_BT_V4SF, IX86_BT_VOID, IX86_BT_PV4DI,
683  IX86_BT_V4DI, IX86_BT_VOID, IX86_BT_PV4SF, IX86_BT_V4SF,
684  IX86_BT_VOID, IX86_BT_PV8SF, IX86_BT_V8SF, IX86_BT_VOID,
685  IX86_BT_UNSIGNED, IX86_BT_UNSIGNED, IX86_BT_INT, IX86_BT_V16QI,
686  IX86_BT_V16QI, IX86_BT_INT, IX86_BT_UCHAR, IX86_BT_UINT,
687  IX86_BT_UINT, IX86_BT_UINT, IX86_BT_UCHAR, IX86_BT_UINT64,
688  IX86_BT_UINT, IX86_BT_UINT, IX86_BT_V16HI, IX86_BT_V16HI,
689  IX86_BT_V16HI, IX86_BT_V16HI, IX86_BT_V16QI, IX86_BT_V16QI,
690  IX86_BT_QI, IX86_BT_INT, IX86_BT_V16QI, IX86_BT_V16QI,
691  IX86_BT_V16QI, IX86_BT_INT, IX86_BT_V16QI, IX86_BT_V16QI,
692  IX86_BT_V16QI, IX86_BT_V16QI, IX86_BT_V1DI, IX86_BT_V1DI,
693  IX86_BT_V1DI, IX86_BT_INT, IX86_BT_V2DF, IX86_BT_V2DF,
694  IX86_BT_V2DF, IX86_BT_INT, IX86_BT_V2DF, IX86_BT_V2DF,
695  IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_V2DF,
696  IX86_BT_V2DF, IX86_BT_V2DI, IX86_BT_INT, IX86_BT_V2DI,
697  IX86_BT_V2DI, IX86_BT_DI, IX86_BT_INT, IX86_BT_V2DI,
698  IX86_BT_V2DI, IX86_BT_UINT, IX86_BT_UINT, IX86_BT_V2DI,
699  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_INT, IX86_BT_V2DI,
700  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_V32QI,
701  IX86_BT_V32QI, IX86_BT_V32QI, IX86_BT_V32QI, IX86_BT_V4DF,
702  IX86_BT_V4DF, IX86_BT_V2DF, IX86_BT_INT, IX86_BT_V4DF,
703  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_INT, IX86_BT_V4DF,
704  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DF,
705  IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_V4DI, IX86_BT_INT,
706  IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_V4DI,
707  IX86_BT_V4HI, IX86_BT_V4HI, IX86_BT_HI, IX86_BT_INT,
708  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_FLOAT, IX86_BT_INT,
709  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_INT,
710  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SF,
711  IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_V4SI,
712  IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_SI,
713  IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V4SI,
714  IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V4SI,
715  IX86_BT_V2DI, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_V4SI,
716  IX86_BT_V4SI, IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_HI,
717  IX86_BT_INT, IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_V8HI,
718  IX86_BT_INT, IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_V8HI,
719  IX86_BT_V4SI, IX86_BT_V8HI, IX86_BT_V8HI, IX86_BT_V8HI,
720  IX86_BT_V8HI, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V4SF,
721  IX86_BT_INT, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF,
722  IX86_BT_INT, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF,
723  IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_V8SF,
724  IX86_BT_V8SI, IX86_BT_INT, IX86_BT_V8SI, IX86_BT_V8SI,
725  IX86_BT_V4SI, IX86_BT_INT, IX86_BT_V8SI, IX86_BT_V8SI,
726  IX86_BT_V8SI, IX86_BT_INT, IX86_BT_V8SI, IX86_BT_V8SI,
727  IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_V4DI, IX86_BT_V4DI,
728  IX86_BT_V4DI, IX86_BT_INT, IX86_BT_V4DI, IX86_BT_V4DI,
729  IX86_BT_V2DI, IX86_BT_INT, IX86_BT_VOID, IX86_BT_PCVOID,
730  IX86_BT_UNSIGNED, IX86_BT_UNSIGNED, IX86_BT_VOID, IX86_BT_PV2DF,
731  IX86_BT_V2DI, IX86_BT_V2DF, IX86_BT_VOID, IX86_BT_PV4DF,
732  IX86_BT_V4DI, IX86_BT_V4DF, IX86_BT_VOID, IX86_BT_PV4SF,
733  IX86_BT_V4SI, IX86_BT_V4SF, IX86_BT_VOID, IX86_BT_PV8SF,
734  IX86_BT_V8SI, IX86_BT_V8SF, IX86_BT_VOID, IX86_BT_PV2DI,
735  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_VOID, IX86_BT_PV4DI,
736  IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_VOID, IX86_BT_PV4SI,
737  IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_VOID, IX86_BT_PV8SI,
738  IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_VOID, IX86_BT_UINT,
739  IX86_BT_UINT, IX86_BT_UINT, IX86_BT_VOID, IX86_BT_UINT64,
740  IX86_BT_UINT, IX86_BT_UINT, IX86_BT_VOID, IX86_BT_V16QI,
741  IX86_BT_V16QI, IX86_BT_PCHAR, IX86_BT_VOID, IX86_BT_V8QI,
742  IX86_BT_V8QI, IX86_BT_PCHAR, IX86_BT_V2DF, IX86_BT_V2DF,
743  IX86_BT_V2DF, IX86_BT_V2DI, IX86_BT_V4SF, IX86_BT_V4SF,
744  IX86_BT_V4SF, IX86_BT_V4SI, IX86_BT_V2UDI, IX86_BT_V2UDI,
745  IX86_BT_V2UDI, IX86_BT_V2UDI, IX86_BT_V4USI, IX86_BT_V4USI,
746  IX86_BT_V4USI, IX86_BT_V4USI, IX86_BT_V8UHI, IX86_BT_V8UHI,
747  IX86_BT_V8UHI, IX86_BT_V8UHI, IX86_BT_V16UQI, IX86_BT_V16UQI,
748  IX86_BT_V16UQI, IX86_BT_V16UQI, IX86_BT_V4DF, IX86_BT_V4DF,
749  IX86_BT_V4DF, IX86_BT_V4DI, IX86_BT_V8SF, IX86_BT_V8SF,
750  IX86_BT_V8SF, IX86_BT_V8SI, IX86_BT_V2DI, IX86_BT_V2DI,
751  IX86_BT_V2DI, IX86_BT_UINT, IX86_BT_UINT, IX86_BT_V4HI,
752  IX86_BT_HI, IX86_BT_HI, IX86_BT_HI, IX86_BT_HI,
753  IX86_BT_INT, IX86_BT_V16QI, IX86_BT_INT, IX86_BT_V16QI,
754  IX86_BT_INT, IX86_BT_INT, IX86_BT_V16QI, IX86_BT_V16QI,
755  IX86_BT_INT, IX86_BT_V16QI, IX86_BT_INT, IX86_BT_INT,
756  IX86_BT_V8QI, IX86_BT_QI, IX86_BT_QI, IX86_BT_QI,
757  IX86_BT_QI, IX86_BT_QI, IX86_BT_QI, IX86_BT_QI,
758  IX86_BT_QI, IX86_BT_UCHAR, IX86_BT_UCHAR, IX86_BT_UINT,
759  IX86_BT_UINT, IX86_BT_PUNSIGNED, IX86_BT_UCHAR, IX86_BT_UCHAR,
760  IX86_BT_ULONGLONG, IX86_BT_ULONGLONG, IX86_BT_PULONGLONG, IX86_BT_V2DF,
761  IX86_BT_V2DF, IX86_BT_PCDOUBLE, IX86_BT_V4SI, IX86_BT_V2DF,
762  IX86_BT_INT, IX86_BT_V4DF, IX86_BT_V4DF, IX86_BT_PCDOUBLE,
763  IX86_BT_V4SI, IX86_BT_V4DF, IX86_BT_INT, IX86_BT_V4DF,
764  IX86_BT_V4DF, IX86_BT_PCDOUBLE, IX86_BT_V8SI, IX86_BT_V4DF,
765  IX86_BT_INT, IX86_BT_V2DF, IX86_BT_V2DF, IX86_BT_PCDOUBLE,
766  IX86_BT_V2DI, IX86_BT_V2DF, IX86_BT_INT, IX86_BT_V4DF,
767  IX86_BT_V4DF, IX86_BT_PCDOUBLE, IX86_BT_V4DI, IX86_BT_V4DF,
768  IX86_BT_INT, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_PCFLOAT,
769  IX86_BT_V4SI, IX86_BT_V4SF, IX86_BT_INT, IX86_BT_V8SF,
770  IX86_BT_V8SF, IX86_BT_PCFLOAT, IX86_BT_V8SI, IX86_BT_V8SF,
771  IX86_BT_INT, IX86_BT_V4SF, IX86_BT_V4SF, IX86_BT_PCFLOAT,
772  IX86_BT_V2DI, IX86_BT_V4SF, IX86_BT_INT, IX86_BT_V4SF,
773  IX86_BT_V4SF, IX86_BT_PCFLOAT, IX86_BT_V4DI, IX86_BT_V4SF,
774  IX86_BT_INT, IX86_BT_V8SF, IX86_BT_V8SF, IX86_BT_PCFLOAT,
775  IX86_BT_V4DI, IX86_BT_V8SF, IX86_BT_INT, IX86_BT_V2DI,
776  IX86_BT_V2DI, IX86_BT_PCINT64, IX86_BT_V4SI, IX86_BT_V2DI,
777  IX86_BT_INT, IX86_BT_V4DI, IX86_BT_V4DI, IX86_BT_PCINT64,
778  IX86_BT_V4SI, IX86_BT_V4DI, IX86_BT_INT, IX86_BT_V4DI,
779  IX86_BT_V4DI, IX86_BT_PCINT64, IX86_BT_V8SI, IX86_BT_V4DI,
780  IX86_BT_INT, IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_PCINT64,
781  IX86_BT_V2DI, IX86_BT_V2DI, IX86_BT_INT, IX86_BT_V4DI,
782  IX86_BT_V4DI, IX86_BT_PCINT64, IX86_BT_V4DI, IX86_BT_V4DI,
783  IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_PCINT,
784  IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_INT, IX86_BT_V8SI,
785  IX86_BT_V8SI, IX86_BT_PCINT, IX86_BT_V8SI, IX86_BT_V8SI,
786  IX86_BT_INT, IX86_BT_V4SI, IX86_BT_V4SI, IX86_BT_PCINT,
787  IX86_BT_V2DI, IX86_BT_V4SI, IX86_BT_INT, IX86_BT_V4SI,
788  IX86_BT_V4SI, IX86_BT_PCINT, IX86_BT_V4DI, IX86_BT_V4SI,
789  IX86_BT_INT, IX86_BT_V8SI, IX86_BT_V8SI, IX86_BT_PCINT,
790  IX86_BT_V4DI, IX86_BT_V8SI, IX86_BT_INT
791};
792
793
794static const unsigned short ix86_builtin_func_start[] = {
795  0, 1, 2, 3, 4, 5, 6, 8, 10, 12,
796  14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
797  34, 36, 38, 40, 42, 44, 46, 48, 50, 52,
798  54, 56, 58, 60, 62, 64, 66, 68, 70, 72,
799  74, 76, 78, 80, 82, 84, 86, 88, 90, 92,
800  94, 96, 98, 100, 102, 104, 106, 108, 110, 112,
801  114, 116, 118, 120, 122, 124, 126, 128, 130, 132,
802  134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
803  154, 156, 158, 160, 162, 164, 166, 168, 170, 172,
804  174, 176, 178, 180, 182, 184, 186, 188, 190, 193,
805  196, 199, 202, 205, 208, 211, 214, 217, 220, 223,
806  226, 229, 232, 235, 238, 241, 244, 247, 250, 253,
807  256, 259, 262, 265, 268, 271, 274, 277, 280, 283,
808  286, 289, 292, 295, 298, 301, 304, 307, 310, 313,
809  316, 319, 322, 325, 328, 331, 334, 337, 340, 343,
810  346, 349, 352, 355, 358, 361, 364, 367, 370, 373,
811  376, 379, 382, 385, 388, 391, 394, 397, 400, 403,
812  406, 409, 412, 415, 418, 421, 424, 427, 430, 433,
813  436, 439, 442, 445, 448, 451, 454, 457, 460, 463,
814  466, 469, 472, 475, 478, 481, 484, 487, 490, 493,
815  497, 501, 504, 507, 510, 513, 516, 519, 522, 525,
816  528, 531, 534, 537, 540, 543, 546, 549, 552, 555,
817  558, 561, 564, 567, 570, 573, 576, 579, 582, 585,
818  588, 591, 594, 598, 602, 606, 610, 614, 618, 622,
819  626, 630, 634, 639, 643, 647, 651, 655, 659, 663,
820  667, 671, 676, 680, 684, 688, 692, 696, 701, 705,
821  709, 713, 717, 721, 725, 729, 733, 737, 741, 745,
822  750, 754, 758, 762, 766, 770, 774, 778, 782, 786,
823  790, 794, 798, 802, 806, 810, 814, 818, 822, 826,
824  830, 834, 838, 842, 846, 850, 854, 859, 864, 870,
825  876, 885, 890, 895, 901, 907, 913, 919, 925, 931,
826  937, 943, 949, 955, 961, 967, 973, 979, 985, 991,
827  997, 1003, 1009, 1015
828};
829
830
831static const enum ix86_builtin_func_type ix86_builtin_func_alias_base[] = {
832  V2DF_FTYPE_V2DF,
833  V4DF_FTYPE_V4DF,
834  V4SF_FTYPE_V4SF,
835  V8SF_FTYPE_V8SF,
836  V4SI_FTYPE_V2DF_V2DF,
837  V8SI_FTYPE_V4DF_V4DF,
838  V4SI_FTYPE_V4SF,
839  V8SI_FTYPE_V8SF,
840  INT_FTYPE_V2DF_V2DF,
841  INT_FTYPE_V2DI_V2DI,
842  INT_FTYPE_V4DF_V4DF,
843  INT_FTYPE_V4DI_V4DI,
844  INT_FTYPE_V4SF_V4SF,
845  INT_FTYPE_V8SF_V8SF,
846  V2DF_FTYPE_V2DF,
847  V4SF_FTYPE_V4SF,
848  V1DI_FTYPE_V1DI_SI,
849  V2DI_FTYPE_V2DI_SI,
850  V2SI_FTYPE_V2SI_SI,
851  V4HI_FTYPE_V4HI_SI,
852  V4SI_FTYPE_V4SI_SI,
853  V8HI_FTYPE_V8HI_SI,
854  V1DI_FTYPE_V1DI_V1DI,
855  V2DI_FTYPE_V2DI_V2DI,
856  V2SI_FTYPE_V2SI_V2SI,
857  V4HI_FTYPE_V4HI_V4HI,
858  V4SI_FTYPE_V4SI_V4SI,
859  V8HI_FTYPE_V8HI_V8HI,
860  V16HI_FTYPE_V16HI_SI,
861  V16HI_FTYPE_V16HI_V8HI,
862  V8SI_FTYPE_V8SI_SI,
863  V8SI_FTYPE_V8SI_V4SI,
864  V4DI_FTYPE_V4DI_INT,
865  V4DI_FTYPE_V4DI_V2DI,
866  V2DF_FTYPE_V2DF_V2DF,
867  V4SF_FTYPE_V4SF_V4SF,
868  V4DI_FTYPE_V4DI_INT,
869  V2DI_FTYPE_V2DI_INT,
870  V4DI_FTYPE_V4DI_V4DI_INT,
871  V2DI_FTYPE_V2DI_V2DI_INT,
872  V1DI_FTYPE_V1DI_V1DI_INT,
873  V16QI_FTYPE_V16QI_V16QI,
874  V2DI_FTYPE_V2DI_V2DI,
875  V4SI_FTYPE_V4SI_V4SI,
876  V8HI_FTYPE_V8HI_V8HI,
877  V16QI_FTYPE_V16QI_V16QI,
878  V2DF_FTYPE_V2DF_V2DF,
879  V2DI_FTYPE_V2DI_V2DI,
880  V4SF_FTYPE_V4SF_V4SF,
881  V4SI_FTYPE_V4SI_V4SI,
882  V8HI_FTYPE_V8HI_V8HI
883};
884