1# This file provides a declarative way of describing the types that
2# are used when declaring ix86 builtin functions.  It is processed
3# with i386-builtin-type.awk to produce C code.
4#
5# DEF_PRIMITIVE_TYPE (ENUM, TYPE)
6#
7#   The ENUM is an identifier indicating which type is being defined.
8#   TYPE is a variable that represents the type.
9#   ??? Note that the awk program expects a single token for TYPE.
10#   At present, that's all that's required; revisit if it turns out
11#   that we need more than that.
12#
13# DEF_VECTOR_TYPE (ENUM, TYPE [, MODE])
14#
15#  This describes a vector type.  ENUM is an identifier as above.
16#  TYPE is the enumeral for the inner type which should of course
17#  name a type of the proper inner mode.  If present, MODE is the
18#  machine mode, else the machine mode should be the same as ENUM.
19#
20# DEF_POINTER_TYPE (ENUM, TYPE [, CONST])
21#
22#  This describes a pointer type.  ENUM is an identifier as above;
23#  TYPE is the enumeral for the type pointed to.  An optional third
24#  argument is the keyword CONST, which defines this to be a pointer to
25#  a constant type.
26#
27# DEF_FUNCTION_TYPE (RETURN, ARGN*)
28#
29#   This describes a function type.  The return type and the arguments
30#   are the enumerals defined above.  The enumeration name for the
31#   function is formed by RETURN ## _FTYPE_ ## ARG1 ## _ ## ARG2 ...
32#
33# DEF_FUNCTION_TYPE_ALIAS (ENUM, SUFFIX)
34#
35#   This defines an enumeration ENUM ## _ ## SUFFIX and arranges for
36#   the function type to be copied from ENUM.  This is used to control
37#   how the expanders treat the function.
38#
39
40DEF_PRIMITIVE_TYPE (VOID, void_type_node)
41DEF_PRIMITIVE_TYPE (CHAR, char_type_node)
42DEF_PRIMITIVE_TYPE (UCHAR, unsigned_char_type_node)
43# ??? Logically this should be intQI_type_node, but that maps to "signed char"
44# which is a different type than "char" even if "char" is signed.  This must
45# match the usage in emmintrin.h and changing this would change name mangling
46# and so is not advisable.
47DEF_PRIMITIVE_TYPE (QI, char_type_node)
48DEF_PRIMITIVE_TYPE (HI, intHI_type_node)
49DEF_PRIMITIVE_TYPE (SI, intSI_type_node)
50# ??? Logically this should be intDI_type_node, but that maps to "long"
51# with 64-bit, and that's not how the emmintrin.h is written.  Again,
52# changing this would change name mangling.
53DEF_PRIMITIVE_TYPE (DI, long_long_integer_type_node)
54DEF_PRIMITIVE_TYPE (UQI, unsigned_intQI_type_node)
55DEF_PRIMITIVE_TYPE (UHI, unsigned_intHI_type_node)
56DEF_PRIMITIVE_TYPE (USI, unsigned_intSI_type_node)
57DEF_PRIMITIVE_TYPE (UDI, long_long_unsigned_type_node)
58# ??? Some of the types below should use the mode types above.
59DEF_PRIMITIVE_TYPE (USHORT, short_unsigned_type_node)
60DEF_PRIMITIVE_TYPE (INT, integer_type_node)
61DEF_PRIMITIVE_TYPE (UINT, unsigned_type_node)
62DEF_PRIMITIVE_TYPE (UNSIGNED, unsigned_type_node)
63DEF_PRIMITIVE_TYPE (LONGLONG, long_long_integer_type_node)
64DEF_PRIMITIVE_TYPE (ULONGLONG, long_long_unsigned_type_node)
65DEF_PRIMITIVE_TYPE (UINT8, unsigned_char_type_node)
66DEF_PRIMITIVE_TYPE (UINT16, short_unsigned_type_node)
67DEF_PRIMITIVE_TYPE (INT64, long_long_integer_type_node)
68DEF_PRIMITIVE_TYPE (UINT64, long_long_unsigned_type_node)
69DEF_PRIMITIVE_TYPE (FLOAT, float_type_node)
70DEF_PRIMITIVE_TYPE (DOUBLE, double_type_node)
71DEF_PRIMITIVE_TYPE (FLOAT80, float80_type_node)
72DEF_PRIMITIVE_TYPE (FLOAT128, float128_type_node)
73
74# MMX vectors
75DEF_VECTOR_TYPE (V2SF, FLOAT)
76DEF_VECTOR_TYPE (V1DI, DI)
77DEF_VECTOR_TYPE (V2SI, SI)
78DEF_VECTOR_TYPE (V4HI, HI)
79DEF_VECTOR_TYPE (V8QI, QI)
80
81# SSE vectors
82DEF_VECTOR_TYPE (V2DF, DOUBLE)
83DEF_VECTOR_TYPE (V4SF, FLOAT)
84DEF_VECTOR_TYPE (V2DI, DI)
85DEF_VECTOR_TYPE (V4SI, SI)
86DEF_VECTOR_TYPE (V8HI, HI)
87DEF_VECTOR_TYPE (V16QI, QI)
88DEF_VECTOR_TYPE (V2UDI, UDI, V2DI)
89DEF_VECTOR_TYPE (V4USI, USI, V4SI)
90DEF_VECTOR_TYPE (V8UHI, UHI, V8HI)
91DEF_VECTOR_TYPE (V16UQI, UQI, V16QI)
92
93# AVX vectors
94DEF_VECTOR_TYPE (V4DF, DOUBLE)
95DEF_VECTOR_TYPE (V8SF, FLOAT)
96DEF_VECTOR_TYPE (V4DI, DI)
97DEF_VECTOR_TYPE (V8SI, SI)
98DEF_VECTOR_TYPE (V16HI, HI)
99DEF_VECTOR_TYPE (V32QI, QI)
100
101
102DEF_POINTER_TYPE (PCCHAR, CHAR, CONST)
103DEF_POINTER_TYPE (PCDOUBLE, DOUBLE, CONST)
104DEF_POINTER_TYPE (PCFLOAT, FLOAT, CONST)
105DEF_POINTER_TYPE (PCINT, INT, CONST)
106DEF_POINTER_TYPE (PCINT64, INT64, CONST)
107DEF_POINTER_TYPE (PCHAR, CHAR)
108DEF_POINTER_TYPE (PCVOID, VOID, CONST)
109DEF_POINTER_TYPE (PVOID, VOID)
110DEF_POINTER_TYPE (PDOUBLE, DOUBLE)
111DEF_POINTER_TYPE (PFLOAT, FLOAT)
112DEF_POINTER_TYPE (PUSHORT, USHORT)
113DEF_POINTER_TYPE (PINT, INT)
114DEF_POINTER_TYPE (PLONGLONG, LONGLONG)
115DEF_POINTER_TYPE (PULONGLONG, ULONGLONG)
116DEF_POINTER_TYPE (PUNSIGNED, UNSIGNED)
117
118DEF_POINTER_TYPE (PV2SI, V2SI)
119DEF_POINTER_TYPE (PV2DF, V2DF)
120DEF_POINTER_TYPE (PV2DI, V2DI)
121DEF_POINTER_TYPE (PV2SF, V2SF)
122DEF_POINTER_TYPE (PV4DF, V4DF)
123DEF_POINTER_TYPE (PV4DI, V4DI)
124DEF_POINTER_TYPE (PV4SF, V4SF)
125DEF_POINTER_TYPE (PV8SF, V8SF)
126DEF_POINTER_TYPE (PV4SI, V4SI)
127DEF_POINTER_TYPE (PV8SI, V8SI)
128
129DEF_POINTER_TYPE (PCV2SI, V2SI, CONST)
130DEF_POINTER_TYPE (PCV2DF, V2DF, CONST)
131DEF_POINTER_TYPE (PCV2SF, V2SF, CONST)
132DEF_POINTER_TYPE (PCV4DF, V4DF, CONST)
133DEF_POINTER_TYPE (PCV4SF, V4SF, CONST)
134DEF_POINTER_TYPE (PCV8SF, V8SF, CONST)
135
136DEF_POINTER_TYPE (PCV2DI, V2DI, CONST)
137DEF_POINTER_TYPE (PCV4SI, V4SI, CONST)
138DEF_POINTER_TYPE (PCV4DI, V4DI, CONST)
139DEF_POINTER_TYPE (PCV8SI, V8SI, CONST)
140
141DEF_FUNCTION_TYPE (FLOAT128)
142DEF_FUNCTION_TYPE (UINT64)
143DEF_FUNCTION_TYPE (UNSIGNED)
144DEF_FUNCTION_TYPE (VOID)
145DEF_FUNCTION_TYPE (PVOID)
146
147DEF_FUNCTION_TYPE (FLOAT, FLOAT)
148DEF_FUNCTION_TYPE (FLOAT128, FLOAT128)
149DEF_FUNCTION_TYPE (INT, INT)
150DEF_FUNCTION_TYPE (INT, V16QI)
151DEF_FUNCTION_TYPE (INT, V2DF)
152DEF_FUNCTION_TYPE (INT, V4DF)
153DEF_FUNCTION_TYPE (INT, V4SF)
154DEF_FUNCTION_TYPE (INT, V8QI)
155DEF_FUNCTION_TYPE (INT, V8SF)
156DEF_FUNCTION_TYPE (INT, V32QI)
157DEF_FUNCTION_TYPE (INT64, INT64)
158DEF_FUNCTION_TYPE (INT64, V2DF)
159DEF_FUNCTION_TYPE (INT64, V4SF)
160DEF_FUNCTION_TYPE (UINT64, INT)
161DEF_FUNCTION_TYPE (UINT16, UINT16)
162DEF_FUNCTION_TYPE (UINT64, PUNSIGNED)
163DEF_FUNCTION_TYPE (V16QI, PCCHAR)
164DEF_FUNCTION_TYPE (V16QI, V16QI)
165DEF_FUNCTION_TYPE (V2DF, PCDOUBLE)
166DEF_FUNCTION_TYPE (V2DF, V2DF)
167DEF_FUNCTION_TYPE (V2DF, V2SI)
168DEF_FUNCTION_TYPE (V2DF, V4DF)
169DEF_FUNCTION_TYPE (V2DF, V4SF)
170DEF_FUNCTION_TYPE (V2DF, V4SI)
171DEF_FUNCTION_TYPE (V2DI, PV2DI)
172DEF_FUNCTION_TYPE (V2DI, V16QI)
173DEF_FUNCTION_TYPE (V2DI, V2DI)
174DEF_FUNCTION_TYPE (V2DI, V4SI)
175DEF_FUNCTION_TYPE (V2DI, V8HI)
176DEF_FUNCTION_TYPE (V2SF, V2SF)
177DEF_FUNCTION_TYPE (V2SF, V2SI)
178DEF_FUNCTION_TYPE (V2SI, V2DF)
179DEF_FUNCTION_TYPE (V2SI, V2SF)
180DEF_FUNCTION_TYPE (V2SI, V2SI)
181DEF_FUNCTION_TYPE (V2SI, PCV2SI)
182DEF_FUNCTION_TYPE (V2SI, V4SF)
183DEF_FUNCTION_TYPE (V32QI, PCCHAR)
184DEF_FUNCTION_TYPE (V4DF, PCDOUBLE)
185DEF_FUNCTION_TYPE (V4DF, PCV2DF)
186DEF_FUNCTION_TYPE (V4DF, V2DF)
187DEF_FUNCTION_TYPE (V4DF, V4DF)
188DEF_FUNCTION_TYPE (V4DF, V4SF)
189DEF_FUNCTION_TYPE (V4DF, V4SI)
190DEF_FUNCTION_TYPE (V4HI, V4HI)
191DEF_FUNCTION_TYPE (V4SF, PCFLOAT)
192DEF_FUNCTION_TYPE (V4SF, V2DF)
193DEF_FUNCTION_TYPE (V4SF, V4DF)
194DEF_FUNCTION_TYPE (V4SF, V4SF)
195DEF_FUNCTION_TYPE (V4SF, PCV4SF)
196DEF_FUNCTION_TYPE (V4SF, V4SI)
197DEF_FUNCTION_TYPE (V4SF, V8SF)
198DEF_FUNCTION_TYPE (V4SF, V8HI)
199DEF_FUNCTION_TYPE (V4SI, V16QI)
200DEF_FUNCTION_TYPE (V4SI, V2DF)
201DEF_FUNCTION_TYPE (V4SI, V4DF)
202DEF_FUNCTION_TYPE (V4SI, V4SF)
203DEF_FUNCTION_TYPE (V4SI, V4SI)
204DEF_FUNCTION_TYPE (V4SI, V8HI)
205DEF_FUNCTION_TYPE (V4SI, V8SI)
206DEF_FUNCTION_TYPE (V8HI, V16QI)
207DEF_FUNCTION_TYPE (V8HI, V8HI)
208DEF_FUNCTION_TYPE (V8QI, V8QI)
209DEF_FUNCTION_TYPE (V8SF, PCFLOAT)
210DEF_FUNCTION_TYPE (V8SF, PCV4SF)
211DEF_FUNCTION_TYPE (V8SF, PCV8SF)
212DEF_FUNCTION_TYPE (V8SF, V4SF)
213DEF_FUNCTION_TYPE (V8SF, V8SF)
214DEF_FUNCTION_TYPE (V8SF, V8SI)
215DEF_FUNCTION_TYPE (V8SF, V8HI)
216DEF_FUNCTION_TYPE (V8SI, V4SI)
217DEF_FUNCTION_TYPE (V8SI, V8SF)
218DEF_FUNCTION_TYPE (V32QI, V32QI)
219DEF_FUNCTION_TYPE (V32QI, V16QI)
220DEF_FUNCTION_TYPE (V16HI, V16HI)
221DEF_FUNCTION_TYPE (V16HI, V8HI)
222DEF_FUNCTION_TYPE (V8SI, V8SI)
223DEF_FUNCTION_TYPE (VOID, PCVOID)
224DEF_FUNCTION_TYPE (VOID, PVOID)
225DEF_FUNCTION_TYPE (VOID, UINT64)
226DEF_FUNCTION_TYPE (VOID, UNSIGNED)
227DEF_FUNCTION_TYPE (INT, PUSHORT)
228DEF_FUNCTION_TYPE (INT, PUNSIGNED)
229DEF_FUNCTION_TYPE (INT, PULONGLONG)
230DEF_FUNCTION_TYPE (V16HI, V16QI)
231DEF_FUNCTION_TYPE (V8SI, V16QI)
232DEF_FUNCTION_TYPE (V4DI, V16QI)
233DEF_FUNCTION_TYPE (V8SI, V8HI)
234DEF_FUNCTION_TYPE (V4DI, V8HI)
235DEF_FUNCTION_TYPE (V4DI, V4SI)
236DEF_FUNCTION_TYPE (V4DI, PV4DI)
237DEF_FUNCTION_TYPE (V4DI, V2DI)
238
239DEF_FUNCTION_TYPE (DI, V2DI, INT)
240DEF_FUNCTION_TYPE (DOUBLE, V2DF, INT)
241DEF_FUNCTION_TYPE (FLOAT, V4SF, INT)
242DEF_FUNCTION_TYPE (FLOAT128, FLOAT128, FLOAT128)
243DEF_FUNCTION_TYPE (HI, V4HI, INT)
244DEF_FUNCTION_TYPE (HI, V8HI, INT)
245DEF_FUNCTION_TYPE (INT, V2DF, V2DF)
246DEF_FUNCTION_TYPE (INT, V2DI, V2DI)
247DEF_FUNCTION_TYPE (INT, V4DF, V4DF)
248DEF_FUNCTION_TYPE (INT, V4DI, V4DI)
249DEF_FUNCTION_TYPE (INT, V4SF, V4SF)
250DEF_FUNCTION_TYPE (INT, V8SF, V8SF)
251DEF_FUNCTION_TYPE (QI, V16QI, INT)
252DEF_FUNCTION_TYPE (QI, V8QI, INT)
253DEF_FUNCTION_TYPE (SI, V2SI, INT)
254DEF_FUNCTION_TYPE (SI, V4SI, INT)
255DEF_FUNCTION_TYPE (UINT, UINT, UCHAR)
256DEF_FUNCTION_TYPE (UINT, UINT, UINT)
257DEF_FUNCTION_TYPE (UINT, UINT, USHORT)
258DEF_FUNCTION_TYPE (UINT16, UINT16, INT)
259DEF_FUNCTION_TYPE (UINT64, UINT64, UINT64)
260DEF_FUNCTION_TYPE (UINT8, UINT8, INT)
261DEF_FUNCTION_TYPE (V16QI, V16QI, SI)
262DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI)
263DEF_FUNCTION_TYPE (V16QI, V8HI, V8HI)
264DEF_FUNCTION_TYPE (V1DI, V1DI, SI)
265DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI)
266DEF_FUNCTION_TYPE (V1DI, V2SI, V2SI)
267DEF_FUNCTION_TYPE (V1DI, V8QI, V8QI)
268DEF_FUNCTION_TYPE (V2DF, PCV2DF, V2DI)
269DEF_FUNCTION_TYPE (V2DF, V2DF, DI)
270DEF_FUNCTION_TYPE (V2DF, V2DF, INT)
271DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE)
272DEF_FUNCTION_TYPE (V2DF, V2DF, SI)
273DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF)
274DEF_FUNCTION_TYPE (V2DF, V2DF, V2DI)
275DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF)
276DEF_FUNCTION_TYPE (V2DF, V4DF, INT)
277DEF_FUNCTION_TYPE (V2DI, V16QI, V16QI)
278DEF_FUNCTION_TYPE (V2DI, V2DF, V2DF)
279DEF_FUNCTION_TYPE (V2DI, V2DI, INT)
280DEF_FUNCTION_TYPE (V2DI, V2DI, SI)
281DEF_FUNCTION_TYPE (V2DI, V2DI, V16QI)
282DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI)
283DEF_FUNCTION_TYPE (V2DI, V4SI, V4SI)
284DEF_FUNCTION_TYPE (V2DI, PCV2DI, V2DI)
285DEF_FUNCTION_TYPE (V2SF, V2SF, V2SF)
286DEF_FUNCTION_TYPE (V2SI, INT, INT)
287DEF_FUNCTION_TYPE (V2SI, V2SF, V2SF)
288DEF_FUNCTION_TYPE (V2SI, V2SI, SI)
289DEF_FUNCTION_TYPE (V2SI, V2SI, V2SI)
290DEF_FUNCTION_TYPE (V2SI, V4HI, V4HI)
291DEF_FUNCTION_TYPE (V4DF, PCV4DF, V4DI)
292DEF_FUNCTION_TYPE (V4DF, V4DF, INT)
293DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF)
294DEF_FUNCTION_TYPE (V4DF, V4DF, V4DI)
295DEF_FUNCTION_TYPE (V4HI, V2SI, V2SI)
296DEF_FUNCTION_TYPE (V4HI, V4HI, INT)
297DEF_FUNCTION_TYPE (V4HI, V4HI, SI)
298DEF_FUNCTION_TYPE (V4HI, V4HI, V4HI)
299DEF_FUNCTION_TYPE (V4HI, V8QI, V8QI)
300DEF_FUNCTION_TYPE (V4SF, PCV4SF, V4SI)
301DEF_FUNCTION_TYPE (V4SF, V4SF, DI)
302DEF_FUNCTION_TYPE (V4SF, V4SF, INT)
303DEF_FUNCTION_TYPE (V4SF, V4SF, PCV2SF)
304DEF_FUNCTION_TYPE (V4SF, V4SF, SI)
305DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF)
306DEF_FUNCTION_TYPE (V4SF, V4SF, V2SI)
307DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF)
308DEF_FUNCTION_TYPE (V4SF, V4SF, V4SI)
309DEF_FUNCTION_TYPE (V4SF, V8SF, INT)
310DEF_FUNCTION_TYPE (V4SI, V2DF, V2DF)
311DEF_FUNCTION_TYPE (V4SI, V4SF, V4SF)
312DEF_FUNCTION_TYPE (V4SI, V4SI, INT)
313DEF_FUNCTION_TYPE (V4SI, V4SI, SI)
314DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI)
315DEF_FUNCTION_TYPE (V4SI, V8HI, V8HI)
316DEF_FUNCTION_TYPE (V4SI, V8SI, INT)
317DEF_FUNCTION_TYPE (V4SI, PCV4SI, V4SI)
318DEF_FUNCTION_TYPE (V8HI, V16QI, V16QI)
319DEF_FUNCTION_TYPE (V8HI, V4SI, V4SI)
320DEF_FUNCTION_TYPE (V8HI, V8HI, INT)
321DEF_FUNCTION_TYPE (V8HI, V8HI, SI)
322DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI)
323DEF_FUNCTION_TYPE (V8HI, V8SF, INT)
324DEF_FUNCTION_TYPE (V8HI, V4SF, INT)
325DEF_FUNCTION_TYPE (V8QI, V4HI, V4HI)
326DEF_FUNCTION_TYPE (V8QI, V8QI, V8QI)
327DEF_FUNCTION_TYPE (V8SF, PCV8SF, V8SI)
328DEF_FUNCTION_TYPE (V8SF, V8SF, INT)
329DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF)
330DEF_FUNCTION_TYPE (V8SF, V8SF, V8SI)
331DEF_FUNCTION_TYPE (V32QI, V16HI, V16HI)
332DEF_FUNCTION_TYPE (V16HI, V8SI, V8SI)
333DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI)
334DEF_FUNCTION_TYPE (V16HI, V32QI, V32QI)
335DEF_FUNCTION_TYPE (V16HI, V16HI, V8HI)
336DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI)
337DEF_FUNCTION_TYPE (V16HI, V16HI, INT)
338DEF_FUNCTION_TYPE (V16HI, V16HI, SI)
339DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, INT)
340DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, INT)
341DEF_FUNCTION_TYPE (V8SI, V4DF, V4DF)
342DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI)
343DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI)
344DEF_FUNCTION_TYPE (V8SI, V16HI, V16HI)
345DEF_FUNCTION_TYPE (V8SI, V8SI, INT)
346DEF_FUNCTION_TYPE (V8SI, V8SI, SI)
347DEF_FUNCTION_TYPE (V8SI, PCV8SI, V8SI)
348DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI)
349DEF_FUNCTION_TYPE (V4DI, V8SI, V8SI)
350DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI)
351DEF_FUNCTION_TYPE (V4DI, PCV4DI, V4DI)
352DEF_FUNCTION_TYPE (V4DI, V4DI, INT)
353DEF_FUNCTION_TYPE (V2DI, V4DI, INT)
354DEF_FUNCTION_TYPE (VOID, PCHAR, V16QI)
355DEF_FUNCTION_TYPE (VOID, PCHAR, V32QI)
356DEF_FUNCTION_TYPE (VOID, PDOUBLE, V2DF)
357DEF_FUNCTION_TYPE (VOID, PDOUBLE, V4DF)
358DEF_FUNCTION_TYPE (VOID, PFLOAT, V4SF)
359DEF_FUNCTION_TYPE (VOID, PFLOAT, V8SF)
360DEF_FUNCTION_TYPE (VOID, PINT, INT)
361DEF_FUNCTION_TYPE (VOID, PLONGLONG, LONGLONG)
362DEF_FUNCTION_TYPE (VOID, PULONGLONG, ULONGLONG)
363DEF_FUNCTION_TYPE (VOID, PV2SI, V2SI)
364DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI)
365DEF_FUNCTION_TYPE (VOID, PV2SF, V4SF)
366DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI)
367DEF_FUNCTION_TYPE (VOID, PV4SF, V4SF)
368DEF_FUNCTION_TYPE (VOID, PV8SF, V8SF)
369DEF_FUNCTION_TYPE (VOID, UNSIGNED, UNSIGNED)
370
371DEF_FUNCTION_TYPE (INT, V16QI, V16QI, INT)
372DEF_FUNCTION_TYPE (UCHAR, UINT, UINT, UINT)
373DEF_FUNCTION_TYPE (UCHAR, UINT64, UINT, UINT)
374DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, V16HI)
375DEF_FUNCTION_TYPE (V16QI, V16QI, QI, INT)
376DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, INT)
377DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, V16QI)
378DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI, INT)
379DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT)
380DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF)
381DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT)
382DEF_FUNCTION_TYPE (V2DI, V2DI, DI, INT)
383DEF_FUNCTION_TYPE (V2DI, V2DI, UINT, UINT)
384DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, INT)
385DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, V2DI)
386DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, V32QI)
387DEF_FUNCTION_TYPE (V4DF, V4DF, V2DF, INT)
388DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, INT)
389DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DF)
390DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI, INT)
391DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, V4DI)
392DEF_FUNCTION_TYPE (V4HI, V4HI, HI, INT)
393DEF_FUNCTION_TYPE (V4SF, V4SF, FLOAT, INT)
394DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT)
395DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF)
396DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT)
397DEF_FUNCTION_TYPE (V4SI, V4SI, SI, INT)
398DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, INT)
399DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V2DI)
400DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI)
401DEF_FUNCTION_TYPE (V8HI, V8HI, HI, INT)
402DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, INT)
403DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V4SI)
404DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V8HI)
405DEF_FUNCTION_TYPE (V8SF, V8SF, V4SF, INT)
406DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, INT)
407DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SF)
408DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI, INT)
409DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI, INT)
410DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, INT)
411DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, V8SI)
412DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, INT)
413DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI, INT)
414DEF_FUNCTION_TYPE (VOID, PCVOID, UNSIGNED, UNSIGNED)
415DEF_FUNCTION_TYPE (VOID, PV2DF, V2DI, V2DF)
416DEF_FUNCTION_TYPE (VOID, PV4DF, V4DI, V4DF)
417DEF_FUNCTION_TYPE (VOID, PV4SF, V4SI, V4SF)
418DEF_FUNCTION_TYPE (VOID, PV8SF, V8SI, V8SF)
419DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI, V2DI)
420DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI, V4DI)
421DEF_FUNCTION_TYPE (VOID, PV4SI, V4SI, V4SI)
422DEF_FUNCTION_TYPE (VOID, PV8SI, V8SI, V8SI)
423DEF_FUNCTION_TYPE (VOID, UINT, UINT, UINT)
424DEF_FUNCTION_TYPE (VOID, UINT64, UINT, UINT)
425DEF_FUNCTION_TYPE (VOID, V16QI, V16QI, PCHAR)
426DEF_FUNCTION_TYPE (VOID, V8QI, V8QI, PCHAR)
427DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI)
428DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI)
429DEF_FUNCTION_TYPE (V2UDI, V2UDI, V2UDI, V2UDI)
430DEF_FUNCTION_TYPE (V4USI, V4USI, V4USI, V4USI)
431DEF_FUNCTION_TYPE (V8UHI, V8UHI, V8UHI, V8UHI)
432DEF_FUNCTION_TYPE (V16UQI, V16UQI, V16UQI, V16UQI)
433DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI)
434DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI)
435
436DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, UINT, UINT)
437DEF_FUNCTION_TYPE (V4HI, HI, HI, HI, HI)
438
439DEF_FUNCTION_TYPE (INT, V16QI, INT, V16QI, INT, INT)
440DEF_FUNCTION_TYPE (V16QI, V16QI, INT, V16QI, INT, INT)
441
442DEF_FUNCTION_TYPE (V8QI, QI, QI, QI, QI, QI, QI, QI, QI)
443
444DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V4SI, V2DF, INT)
445DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4SI, V4DF, INT)
446DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V8SI, V4DF, INT)
447DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V2DI, V2DF, INT)
448DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4DI, V4DF, INT)
449DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4SI, V4SF, INT)
450DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V8SI, V8SF, INT)
451DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V2DI, V4SF, INT)
452DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4DI, V4SF, INT)
453DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V4DI, V8SF, INT)
454DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V4SI, V2DI, INT)
455DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4SI, V4DI, INT)
456DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V8SI, V4DI, INT)
457DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V2DI, V2DI, INT)
458DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4DI, V4DI, INT)
459DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4SI, V4SI, INT)
460DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V8SI, V8SI, INT)
461DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V2DI, V4SI, INT)
462DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4DI, V4SI, INT)
463DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V4DI, V8SI, INT)
464
465DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, ROUND)
466DEF_FUNCTION_TYPE_ALIAS (V4DF_FTYPE_V4DF, ROUND)
467DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, ROUND)
468DEF_FUNCTION_TYPE_ALIAS (V8SF_FTYPE_V8SF, ROUND)
469
470DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V2DF_V2DF, ROUND)
471DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V4DF_V4DF, ROUND)
472DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SF, ROUND)
473DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SF, ROUND)
474
475DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DF_V2DF, PTEST)
476DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DI_V2DI, PTEST)
477DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DF_V4DF, PTEST)
478DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DI_V4DI, PTEST)
479DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4SF_V4SF, PTEST)
480DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V8SF_V8SF, PTEST)
481
482DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, VEC_MERGE)
483DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, VEC_MERGE)
484
485DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_SI, COUNT)
486DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_SI, COUNT)
487DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_SI, COUNT)
488DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_SI, COUNT)
489DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_SI, COUNT)
490DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_SI, COUNT)
491DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI, COUNT)
492DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, COUNT)
493DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_V2SI, COUNT)
494DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_V4HI, COUNT)
495DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, COUNT)
496DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, COUNT)
497DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_SI, COUNT)
498DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_V8HI, COUNT)
499DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_SI, COUNT)
500DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_V4SI, COUNT)
501DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, COUNT)
502DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V2DI, COUNT)
503
504DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, SWAP)
505DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, SWAP)
506
507DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, CONVERT)
508DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_INT, CONVERT)
509DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V4DI_INT, CONVERT)
510DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI_INT, CONVERT)
511DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI_INT, CONVERT)
512
513DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, CMP)
514DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, CMP)
515DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, CMP)
516DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, CMP)
517
518DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, TF)
519DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, TF)
520DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, TF)
521DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, TF)
522DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, TF)
523DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, TF)
524