Rebase.
[official-gcc.git] / gcc / config / i386 / i386-builtin-types.def
blob989297a5c13adfb9e4a10c21d1807c0247f453fa
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.
5 # DEF_PRIMITIVE_TYPE (ENUM, TYPE)
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.
13 # DEF_VECTOR_TYPE (ENUM, TYPE [, MODE])
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.
20 # DEF_POINTER_TYPE (ENUM, TYPE [, CONST])
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.
27 # DEF_FUNCTION_TYPE (RETURN, ARGN*)
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 ...
33 # DEF_FUNCTION_TYPE_ALIAS (ENUM, SUFFIX)
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.
40 DEF_PRIMITIVE_TYPE (VOID, void_type_node)
41 DEF_PRIMITIVE_TYPE (CHAR, char_type_node)
42 DEF_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.
47 DEF_PRIMITIVE_TYPE (QI, char_type_node)
48 DEF_PRIMITIVE_TYPE (HI, intHI_type_node)
49 DEF_PRIMITIVE_TYPE (SI, intSI_type_node)
50 DEF_PRIMITIVE_TYPE (BND, pointer_bounds_type_node)
51 # ??? Logically this should be intDI_type_node, but that maps to "long"
52 # with 64-bit, and that's not how the emmintrin.h is written. Again,
53 # changing this would change name mangling.
54 DEF_PRIMITIVE_TYPE (DI, long_long_integer_type_node)
55 DEF_PRIMITIVE_TYPE (UQI, unsigned_intQI_type_node)
56 DEF_PRIMITIVE_TYPE (UHI, unsigned_intHI_type_node)
57 DEF_PRIMITIVE_TYPE (USI, unsigned_intSI_type_node)
58 DEF_PRIMITIVE_TYPE (UDI, long_long_unsigned_type_node)
59 # ??? Some of the types below should use the mode types above.
60 DEF_PRIMITIVE_TYPE (USHORT, short_unsigned_type_node)
61 DEF_PRIMITIVE_TYPE (INT, integer_type_node)
62 DEF_PRIMITIVE_TYPE (UINT, unsigned_type_node)
63 DEF_PRIMITIVE_TYPE (UNSIGNED, unsigned_type_node)
64 DEF_PRIMITIVE_TYPE (ULONG, long_unsigned_type_node)
65 DEF_PRIMITIVE_TYPE (LONGLONG, long_long_integer_type_node)
66 DEF_PRIMITIVE_TYPE (ULONGLONG, long_long_unsigned_type_node)
67 DEF_PRIMITIVE_TYPE (UINT8, unsigned_char_type_node)
68 DEF_PRIMITIVE_TYPE (UINT16, short_unsigned_type_node)
69 DEF_PRIMITIVE_TYPE (INT64, long_long_integer_type_node)
70 DEF_PRIMITIVE_TYPE (UINT64, long_long_unsigned_type_node)
71 DEF_PRIMITIVE_TYPE (FLOAT, float_type_node)
72 DEF_PRIMITIVE_TYPE (DOUBLE, double_type_node)
73 DEF_PRIMITIVE_TYPE (FLOAT80, float80_type_node)
74 DEF_PRIMITIVE_TYPE (FLOAT128, float128_type_node)
76 # MMX vectors
77 DEF_VECTOR_TYPE (V2SF, FLOAT)
78 DEF_VECTOR_TYPE (V1DI, DI)
79 DEF_VECTOR_TYPE (V2SI, SI)
80 DEF_VECTOR_TYPE (V4HI, HI)
81 DEF_VECTOR_TYPE (V8QI, QI)
83 # SSE vectors
84 DEF_VECTOR_TYPE (V2DF, DOUBLE)
85 DEF_VECTOR_TYPE (V4SF, FLOAT)
86 DEF_VECTOR_TYPE (V2DI, DI)
87 DEF_VECTOR_TYPE (V4SI, SI)
88 DEF_VECTOR_TYPE (V8HI, HI)
89 DEF_VECTOR_TYPE (V16QI, QI)
90 DEF_VECTOR_TYPE (V2UDI, UDI, V2DI)
91 DEF_VECTOR_TYPE (V4USI, USI, V4SI)
92 DEF_VECTOR_TYPE (V8UHI, UHI, V8HI)
93 DEF_VECTOR_TYPE (V16UQI, UQI, V16QI)
95 # AVX vectors
96 DEF_VECTOR_TYPE (V4DF, DOUBLE)
97 DEF_VECTOR_TYPE (V8SF, FLOAT)
98 DEF_VECTOR_TYPE (V4DI, DI)
99 DEF_VECTOR_TYPE (V8SI, SI)
100 DEF_VECTOR_TYPE (V16HI, HI)
101 DEF_VECTOR_TYPE (V32QI, QI)
102 DEF_VECTOR_TYPE (V4UDI, UDI, V4DI)
103 DEF_VECTOR_TYPE (V8USI, USI, V8SI)
104 DEF_VECTOR_TYPE (V16UHI, UHI, V16HI)
106 # AVX512F vectors
107 DEF_VECTOR_TYPE (V32SF, FLOAT)
108 DEF_VECTOR_TYPE (V16SF, FLOAT)
109 DEF_VECTOR_TYPE (V8DF, DOUBLE)
110 DEF_VECTOR_TYPE (V8DI, DI)
111 DEF_VECTOR_TYPE (V16SI, SI)
112 DEF_VECTOR_TYPE (V64QI, QI)
114 DEF_POINTER_TYPE (PCCHAR, CHAR, CONST)
115 DEF_POINTER_TYPE (PCDOUBLE, DOUBLE, CONST)
116 DEF_POINTER_TYPE (PCFLOAT, FLOAT, CONST)
117 DEF_POINTER_TYPE (PCINT, INT, CONST)
118 DEF_POINTER_TYPE (PCINT64, INT64, CONST)
119 DEF_POINTER_TYPE (PCHAR, CHAR)
120 DEF_POINTER_TYPE (PCVOID, VOID, CONST)
121 DEF_POINTER_TYPE (PVOID, VOID)
122 DEF_POINTER_TYPE (PDOUBLE, DOUBLE)
123 DEF_POINTER_TYPE (PFLOAT, FLOAT)
124 DEF_POINTER_TYPE (PUSHORT, USHORT)
125 DEF_POINTER_TYPE (PINT, INT)
126 DEF_POINTER_TYPE (PLONGLONG, LONGLONG)
127 DEF_POINTER_TYPE (PULONGLONG, ULONGLONG)
128 DEF_POINTER_TYPE (PUNSIGNED, UNSIGNED)
130 DEF_POINTER_TYPE (PV2SI, V2SI)
131 DEF_POINTER_TYPE (PV2DF, V2DF)
132 DEF_POINTER_TYPE (PV2DI, V2DI)
133 DEF_POINTER_TYPE (PV2SF, V2SF)
134 DEF_POINTER_TYPE (PV4DF, V4DF)
135 DEF_POINTER_TYPE (PV4DI, V4DI)
136 DEF_POINTER_TYPE (PV4SF, V4SF)
137 DEF_POINTER_TYPE (PV8DF, V8DF)
138 DEF_POINTER_TYPE (PV8SF, V8SF)
139 DEF_POINTER_TYPE (PV4SI, V4SI)
140 DEF_POINTER_TYPE (PV8HI, V8HI)
141 DEF_POINTER_TYPE (PV8SI, V8SI)
142 DEF_POINTER_TYPE (PV8DI, V8DI)
143 DEF_POINTER_TYPE (PV16QI, V16QI)
144 DEF_POINTER_TYPE (PV16HI, V16HI)
145 DEF_POINTER_TYPE (PV16SI, V16SI)
146 DEF_POINTER_TYPE (PV16SF, V16SF)
148 DEF_POINTER_TYPE (PCV2SI, V2SI, CONST)
149 DEF_POINTER_TYPE (PCV2DF, V2DF, CONST)
150 DEF_POINTER_TYPE (PCV2SF, V2SF, CONST)
151 DEF_POINTER_TYPE (PCV4DF, V4DF, CONST)
152 DEF_POINTER_TYPE (PCV4SF, V4SF, CONST)
153 DEF_POINTER_TYPE (PCV8DF, V8DF, CONST)
154 DEF_POINTER_TYPE (PCV8SF, V8SF, CONST)
155 DEF_POINTER_TYPE (PCV16SF, V16SF, CONST)
157 DEF_POINTER_TYPE (PCV2DI, V2DI, CONST)
158 DEF_POINTER_TYPE (PCV4SI, V4SI, CONST)
159 DEF_POINTER_TYPE (PCV4DI, V4DI, CONST)
160 DEF_POINTER_TYPE (PCV8SI, V8SI, CONST)
161 DEF_POINTER_TYPE (PCV8DI, V8DI, CONST)
162 DEF_POINTER_TYPE (PCV16SI, V16SI, CONST)
164 DEF_FUNCTION_TYPE (FLOAT128)
165 DEF_FUNCTION_TYPE (UINT64)
166 DEF_FUNCTION_TYPE (UNSIGNED)
167 DEF_FUNCTION_TYPE (USHORT)
168 DEF_FUNCTION_TYPE (INT)
169 DEF_FUNCTION_TYPE (VOID)
170 DEF_FUNCTION_TYPE (PVOID)
172 DEF_FUNCTION_TYPE (FLOAT, FLOAT)
173 DEF_FUNCTION_TYPE (FLOAT128, FLOAT128)
174 DEF_FUNCTION_TYPE (INT, INT)
175 DEF_FUNCTION_TYPE (INT, V16QI)
176 DEF_FUNCTION_TYPE (INT, V2DF)
177 DEF_FUNCTION_TYPE (INT, V4DF)
178 DEF_FUNCTION_TYPE (INT, V4SF)
179 DEF_FUNCTION_TYPE (INT, V8QI)
180 DEF_FUNCTION_TYPE (INT, V8SF)
181 DEF_FUNCTION_TYPE (INT, V32QI)
182 DEF_FUNCTION_TYPE (INT, PCCHAR)
183 DEF_FUNCTION_TYPE (INT64, INT64)
184 DEF_FUNCTION_TYPE (INT64, V2DF)
185 DEF_FUNCTION_TYPE (INT64, V4SF)
186 DEF_FUNCTION_TYPE (UINT64, INT)
187 DEF_FUNCTION_TYPE (UINT16, UINT16)
188 DEF_FUNCTION_TYPE (UINT64, PUNSIGNED)
189 DEF_FUNCTION_TYPE (V16QI, PCCHAR)
190 DEF_FUNCTION_TYPE (V16QI, V16QI)
191 DEF_FUNCTION_TYPE (V16QI, V16SI)
192 DEF_FUNCTION_TYPE (V2DF, PCDOUBLE)
193 DEF_FUNCTION_TYPE (V2DF, V2DF)
194 DEF_FUNCTION_TYPE (V2DF, V2SI)
195 DEF_FUNCTION_TYPE (V2DF, V4DF)
196 DEF_FUNCTION_TYPE (V2DF, V4SF)
197 DEF_FUNCTION_TYPE (V2DF, V4SI)
198 DEF_FUNCTION_TYPE (V2DI, PV2DI)
199 DEF_FUNCTION_TYPE (V2DI, V16QI)
200 DEF_FUNCTION_TYPE (V2DI, V2DI)
201 DEF_FUNCTION_TYPE (V2DI, V4SI)
202 DEF_FUNCTION_TYPE (V2DI, V8HI)
203 DEF_FUNCTION_TYPE (V2SF, V2SF)
204 DEF_FUNCTION_TYPE (V2SF, V2SI)
205 DEF_FUNCTION_TYPE (V2SI, V2DF)
206 DEF_FUNCTION_TYPE (V2SI, V2SF)
207 DEF_FUNCTION_TYPE (V2SI, V2SI)
208 DEF_FUNCTION_TYPE (V2SI, PCV2SI)
209 DEF_FUNCTION_TYPE (V2SI, V4SF)
210 DEF_FUNCTION_TYPE (V32QI, PCCHAR)
211 DEF_FUNCTION_TYPE (V4DF, PCDOUBLE)
212 DEF_FUNCTION_TYPE (V4DF, PCV2DF)
213 DEF_FUNCTION_TYPE (V4DF, V2DF)
214 DEF_FUNCTION_TYPE (V4DF, V4DF)
215 DEF_FUNCTION_TYPE (V4DF, V4SF)
216 DEF_FUNCTION_TYPE (V4DF, V4SI)
217 DEF_FUNCTION_TYPE (V8DF, V8SI)
218 DEF_FUNCTION_TYPE (V8DF, V8DF)
219 DEF_FUNCTION_TYPE (V4HI, V4HI)
220 DEF_FUNCTION_TYPE (V4SF, PCFLOAT)
221 DEF_FUNCTION_TYPE (V4SF, V2DF)
222 DEF_FUNCTION_TYPE (V4SF, V4DF)
223 DEF_FUNCTION_TYPE (V4SF, V4SF)
224 DEF_FUNCTION_TYPE (V4SF, PCV4SF)
225 DEF_FUNCTION_TYPE (V4SF, V4SI)
226 DEF_FUNCTION_TYPE (V4SF, V8SF)
227 DEF_FUNCTION_TYPE (V4SF, V8HI)
228 DEF_FUNCTION_TYPE (V4SI, V16QI)
229 DEF_FUNCTION_TYPE (V4SI, V2DF)
230 DEF_FUNCTION_TYPE (V4SI, V4DF)
231 DEF_FUNCTION_TYPE (V4SI, V4SF)
232 DEF_FUNCTION_TYPE (V4SI, V4SI)
233 DEF_FUNCTION_TYPE (V4SI, V8HI)
234 DEF_FUNCTION_TYPE (V4SI, V8SI)
235 DEF_FUNCTION_TYPE (V8HI, V16QI)
236 DEF_FUNCTION_TYPE (V8HI, V8DI)
237 DEF_FUNCTION_TYPE (V8HI, V8HI)
238 DEF_FUNCTION_TYPE (V8QI, V8QI)
239 DEF_FUNCTION_TYPE (V8SF, PCFLOAT)
240 DEF_FUNCTION_TYPE (V8SF, PCV4SF)
241 DEF_FUNCTION_TYPE (V8SF, PCV8SF)
242 DEF_FUNCTION_TYPE (V8SF, V4SF)
243 DEF_FUNCTION_TYPE (V8SF, V8SF)
244 DEF_FUNCTION_TYPE (V8SF, V8SI)
245 DEF_FUNCTION_TYPE (V8SF, V8HI)
246 DEF_FUNCTION_TYPE (V16SF, V16SF)
247 DEF_FUNCTION_TYPE (V8SI, V8DI)
248 DEF_FUNCTION_TYPE (V8SI, V4SI)
249 DEF_FUNCTION_TYPE (V8SF, V8DF)
250 DEF_FUNCTION_TYPE (V8SF, V8DF, V8SF, QI)
251 DEF_FUNCTION_TYPE (V8SI, V8SF)
252 DEF_FUNCTION_TYPE (V32QI, V32QI)
253 DEF_FUNCTION_TYPE (V32QI, V16QI)
254 DEF_FUNCTION_TYPE (V16HI, V16SI)
255 DEF_FUNCTION_TYPE (V16HI, V16HI)
256 DEF_FUNCTION_TYPE (V16HI, V8HI)
257 DEF_FUNCTION_TYPE (V8SI, V8SI)
258 DEF_FUNCTION_TYPE (VOID, PCVOID)
259 DEF_FUNCTION_TYPE (VOID, PVOID)
260 DEF_FUNCTION_TYPE (VOID, UINT64)
261 DEF_FUNCTION_TYPE (VOID, UNSIGNED)
262 DEF_FUNCTION_TYPE (INT, PUSHORT)
263 DEF_FUNCTION_TYPE (INT, PUNSIGNED)
264 DEF_FUNCTION_TYPE (INT, PULONGLONG)
265 DEF_FUNCTION_TYPE (V16HI, V16QI)
266 DEF_FUNCTION_TYPE (V8SI, V16QI)
267 DEF_FUNCTION_TYPE (V4DI, V16QI)
268 DEF_FUNCTION_TYPE (V8SI, V8HI)
269 DEF_FUNCTION_TYPE (V4DI, V8HI)
270 DEF_FUNCTION_TYPE (V4DI, V4SI)
271 DEF_FUNCTION_TYPE (V4DI, PV4DI)
272 DEF_FUNCTION_TYPE (V4DI, V2DI)
273 DEF_FUNCTION_TYPE (V16SF, FLOAT)
274 DEF_FUNCTION_TYPE (V16SI, INT)
275 DEF_FUNCTION_TYPE (V8DF, DOUBLE)
276 DEF_FUNCTION_TYPE (V8DI, INT64)
277 DEF_FUNCTION_TYPE (V16SF, V4SF)
278 DEF_FUNCTION_TYPE (V8DF, V4DF)
279 DEF_FUNCTION_TYPE (V8DI, V4DI)
280 DEF_FUNCTION_TYPE (V16QI, V8DI)
281 DEF_FUNCTION_TYPE (UINT, V4SF)
282 DEF_FUNCTION_TYPE (UINT64, V4SF)
283 DEF_FUNCTION_TYPE (UINT, V2DF)
284 DEF_FUNCTION_TYPE (UINT64, V2DF)
285 DEF_FUNCTION_TYPE (V16SI, V16SI)
286 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, HI)
287 DEF_FUNCTION_TYPE (V8DI, V8DI)
288 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, QI)
289 DEF_FUNCTION_TYPE (V16SI, PV4SI)
290 DEF_FUNCTION_TYPE (V16SF, PV4SF)
291 DEF_FUNCTION_TYPE (V8DI, PV4DI)
292 DEF_FUNCTION_TYPE (V8DF, PV4DF)
293 DEF_FUNCTION_TYPE (V8UHI, V8UHI)
294 DEF_FUNCTION_TYPE (V8USI, V8USI)
295 DEF_FUNCTION_TYPE (V8DI, PV8DI)
297 DEF_FUNCTION_TYPE (DI, V2DI, INT)
298 DEF_FUNCTION_TYPE (DOUBLE, V2DF, INT)
299 DEF_FUNCTION_TYPE (FLOAT, V4SF, INT)
300 DEF_FUNCTION_TYPE (FLOAT128, FLOAT128, FLOAT128)
301 DEF_FUNCTION_TYPE (HI, V4HI, INT)
302 DEF_FUNCTION_TYPE (HI, V8HI, INT)
303 DEF_FUNCTION_TYPE (INT, V2DF, V2DF)
304 DEF_FUNCTION_TYPE (INT, V2DI, V2DI)
305 DEF_FUNCTION_TYPE (INT, V4DF, V4DF)
306 DEF_FUNCTION_TYPE (INT, V4DI, V4DI)
307 DEF_FUNCTION_TYPE (INT, V4SF, V4SF)
308 DEF_FUNCTION_TYPE (INT, V8SF, V8SF)
309 DEF_FUNCTION_TYPE (QI, V16QI, INT)
310 DEF_FUNCTION_TYPE (QI, V8QI, INT)
311 DEF_FUNCTION_TYPE (SI, V2SI, INT)
312 DEF_FUNCTION_TYPE (SI, V4SI, INT)
313 DEF_FUNCTION_TYPE (UINT, UINT, UCHAR)
314 DEF_FUNCTION_TYPE (UINT, UINT, UINT)
315 DEF_FUNCTION_TYPE (UINT, UINT, USHORT)
316 DEF_FUNCTION_TYPE (UINT16, UINT16, INT)
317 DEF_FUNCTION_TYPE (UINT64, UINT64, UINT64)
318 DEF_FUNCTION_TYPE (UINT8, UINT8, INT)
319 DEF_FUNCTION_TYPE (V16QI, V16QI, SI)
320 DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI)
321 DEF_FUNCTION_TYPE (V16QI, V8HI, V8HI)
322 DEF_FUNCTION_TYPE (V1DI, V1DI, SI)
323 DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI)
324 DEF_FUNCTION_TYPE (V1DI, V2SI, V2SI)
325 DEF_FUNCTION_TYPE (V1DI, V8QI, V8QI)
326 DEF_FUNCTION_TYPE (V2DF, PCV2DF, V2DI)
327 DEF_FUNCTION_TYPE (V2DF, V2DF, UINT)
328 DEF_FUNCTION_TYPE (V2DF, V2DF, UINT64)
329 DEF_FUNCTION_TYPE (V2DF, V2DF, DI)
330 DEF_FUNCTION_TYPE (V2DF, V2DF, INT)
331 DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE)
332 DEF_FUNCTION_TYPE (V2DF, V2DF, SI)
333 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF)
334 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DI)
335 DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF)
336 DEF_FUNCTION_TYPE (V2DF, V4DF, INT)
337 DEF_FUNCTION_TYPE (V2DI, V16QI, V16QI)
338 DEF_FUNCTION_TYPE (V2DI, V2DF, V2DF)
339 DEF_FUNCTION_TYPE (V2DI, V2DI, INT)
340 DEF_FUNCTION_TYPE (V2DI, V2DI, SI)
341 DEF_FUNCTION_TYPE (V2DI, V2DI, V16QI)
342 DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI)
343 DEF_FUNCTION_TYPE (V2DI, V4SI, V4SI)
344 DEF_FUNCTION_TYPE (V2UDI, V4USI, V4USI)
345 DEF_FUNCTION_TYPE (V2DI, PCV2DI, V2DI)
346 DEF_FUNCTION_TYPE (V2SF, V2SF, V2SF)
347 DEF_FUNCTION_TYPE (V2SI, INT, INT)
348 DEF_FUNCTION_TYPE (V2SI, V2SF, V2SF)
349 DEF_FUNCTION_TYPE (V2SI, V2SI, SI)
350 DEF_FUNCTION_TYPE (V2SI, V2SI, V2SI)
351 DEF_FUNCTION_TYPE (V2SI, V4HI, V4HI)
352 DEF_FUNCTION_TYPE (V4DF, PCV4DF, V4DI)
353 DEF_FUNCTION_TYPE (V4DF, V4DF, INT)
354 DEF_FUNCTION_TYPE (V4DF, V8DF, INT)
355 DEF_FUNCTION_TYPE (V4DF, V8DF, INT, V4DF, QI)
356 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF)
357 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DI)
358 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI)
359 DEF_FUNCTION_TYPE (V4HI, V2SI, V2SI)
360 DEF_FUNCTION_TYPE (V4HI, V4HI, INT)
361 DEF_FUNCTION_TYPE (V4HI, V4HI, SI)
362 DEF_FUNCTION_TYPE (V4HI, V4HI, V4HI)
363 DEF_FUNCTION_TYPE (V4HI, V8QI, V8QI)
364 DEF_FUNCTION_TYPE (V4SF, PCV4SF, V4SI)
365 DEF_FUNCTION_TYPE (V4SF, V4SF, UINT)
366 DEF_FUNCTION_TYPE (V4SF, V4SF, UINT64)
367 DEF_FUNCTION_TYPE (V4SF, V4SF, DI)
368 DEF_FUNCTION_TYPE (V4SF, V4SF, INT)
369 DEF_FUNCTION_TYPE (INT, V4SF, V4SF, INT, INT)
370 DEF_FUNCTION_TYPE (INT, V2DF, V2DF, INT, INT)
371 DEF_FUNCTION_TYPE (V4SF, V4SF, PCV2SF)
372 DEF_FUNCTION_TYPE (V4SF, V4SF, SI)
373 DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF)
374 DEF_FUNCTION_TYPE (V4SF, V4SF, V2SI)
375 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF)
376 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SI)
377 DEF_FUNCTION_TYPE (V4SF, V8SF, INT)
378 DEF_FUNCTION_TYPE (V4SI, V2DF, V2DF)
379 DEF_FUNCTION_TYPE (V4SI, V4SF, V4SF)
380 DEF_FUNCTION_TYPE (V4SI, V4SI, INT)
381 DEF_FUNCTION_TYPE (V4SI, V4SI, SI)
382 DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI)
383 DEF_FUNCTION_TYPE (V4SI, V8HI, V8HI)
384 DEF_FUNCTION_TYPE (V4SI, V8SI, INT)
385 DEF_FUNCTION_TYPE (V4SI, PCV4SI, V4SI)
386 DEF_FUNCTION_TYPE (V8HI, V16QI, V16QI)
387 DEF_FUNCTION_TYPE (V8HI, V4SI, V4SI)
388 DEF_FUNCTION_TYPE (V8HI, V8HI, INT)
389 DEF_FUNCTION_TYPE (V8HI, V8HI, SI)
390 DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI)
391 DEF_FUNCTION_TYPE (V8HI, V8SF, INT)
392 DEF_FUNCTION_TYPE (V8HI, V4SF, INT)
393 DEF_FUNCTION_TYPE (V8QI, V4HI, V4HI)
394 DEF_FUNCTION_TYPE (V8QI, V8QI, V8QI)
395 DEF_FUNCTION_TYPE (V8SF, PCV8SF, V8SI)
396 DEF_FUNCTION_TYPE (V8SF, V8SF, INT)
397 DEF_FUNCTION_TYPE (V16SF, V16SF, INT)
398 DEF_FUNCTION_TYPE (V4SF, V16SF, INT)
399 DEF_FUNCTION_TYPE (V4SF, V16SF, INT, V4SF, QI)
400 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF)
401 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF)
402 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SI)
403 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI)
404 DEF_FUNCTION_TYPE (V32QI, V16HI, V16HI)
405 DEF_FUNCTION_TYPE (V16HI, V8SI, V8SI)
406 DEF_FUNCTION_TYPE (V8DF, V8DF, V4DF, INT, V8DF, QI)
407 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, INT, V8DF, QI)
408 DEF_FUNCTION_TYPE (V8DF, V8DF, INT, V8DF, QI)
409 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DI, INT, QI, INT)
410 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF)
411 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, INT)
412 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, INT, V16SF, HI)
413 DEF_FUNCTION_TYPE (V16SF, V16SF, INT, V16SF, HI)
414 DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, INT, V16SI, HI)
415 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT)
416 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT, HI)
417 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT, HI, INT)
418 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT, QI)
419 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT, QI, INT)
420 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT, QI)
421 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT, QI, INT)
422 DEF_FUNCTION_TYPE (V16SF, V16SF, V4SF, INT)
423 DEF_FUNCTION_TYPE (V16SF, V16SF, V4SF, INT, V16SF, HI)
424 DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI)
425 DEF_FUNCTION_TYPE (V16HI, V32QI, V32QI)
426 DEF_FUNCTION_TYPE (V16HI, V16HI, V8HI)
427 DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI)
428 DEF_FUNCTION_TYPE (V16HI, V16HI, INT)
429 DEF_FUNCTION_TYPE (V16HI, V16SF, INT)
430 DEF_FUNCTION_TYPE (V16HI, V16SF, INT, V16HI, HI)
431 DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, INT, V16HI, HI)
432 DEF_FUNCTION_TYPE (V16HI, V16HI, SI)
433 DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, INT)
434 DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, INT)
435 DEF_FUNCTION_TYPE (V8SI, V4DF, V4DF)
436 DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI)
437 DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI)
438 DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, INT)
439 DEF_FUNCTION_TYPE (V4SI, V16SI, INT)
440 DEF_FUNCTION_TYPE (V4SI, V16SI, INT, V4SI, QI)
441 DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI)
442 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI)
443 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, INT, V16SI, HI)
444 DEF_FUNCTION_TYPE (V8SI, V16HI, V16HI)
445 DEF_FUNCTION_TYPE (V8SI, V8SI, INT)
446 DEF_FUNCTION_TYPE (V8SI, V8SI, SI)
447 DEF_FUNCTION_TYPE (V16SI, V16SI, SI)
448 DEF_FUNCTION_TYPE (V16SI, V16SI, INT)
449 DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, V16SI, HI)
450 DEF_FUNCTION_TYPE (V16SI, V16SI, INT, V16SI, HI)
451 DEF_FUNCTION_TYPE (V8SI, PCV8SI, V8SI)
452 DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI)
453 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI)
454 DEF_FUNCTION_TYPE (V16SI, V8DF, V8DF)
455 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, INT, V8DI, QI)
456 DEF_FUNCTION_TYPE (V8DI, V8DI, V4DI, INT, V8DI, QI)
457 DEF_FUNCTION_TYPE (V4DI, V8SI, V8SI)
458 DEF_FUNCTION_TYPE (V4UDI, V8USI, V8USI)
459 DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI)
460 DEF_FUNCTION_TYPE (V8DI, V8DI, V2DI)
461 DEF_FUNCTION_TYPE (V4DI, PCV4DI, V4DI)
462 DEF_FUNCTION_TYPE (V4DI, V8DI, INT)
463 DEF_FUNCTION_TYPE (V4DI, V8DI, INT, V4DI, QI)
464 DEF_FUNCTION_TYPE (V8DI, V8DI, V2DI, V8DI, QI)
465 DEF_FUNCTION_TYPE (V8DI, V8DI, INT, V8DI, QI)
466 DEF_FUNCTION_TYPE (V4DI, V4DI, INT)
467 DEF_FUNCTION_TYPE (V2DI, V4DI, INT)
468 DEF_FUNCTION_TYPE (VOID, PVOID, INT64)
469 DEF_FUNCTION_TYPE (VOID, PCHAR, V16QI)
470 DEF_FUNCTION_TYPE (VOID, PCHAR, V32QI)
471 DEF_FUNCTION_TYPE (VOID, PDOUBLE, V2DF)
472 DEF_FUNCTION_TYPE (VOID, PDOUBLE, V4DF)
473 DEF_FUNCTION_TYPE (VOID, PDOUBLE, V8DF)
474 DEF_FUNCTION_TYPE (VOID, PFLOAT, V4SF)
475 DEF_FUNCTION_TYPE (VOID, PFLOAT, V8SF)
476 DEF_FUNCTION_TYPE (VOID, PFLOAT, V16SF)
477 DEF_FUNCTION_TYPE (VOID, PINT, INT)
478 DEF_FUNCTION_TYPE (VOID, PLONGLONG, LONGLONG)
479 DEF_FUNCTION_TYPE (VOID, PULONGLONG, ULONGLONG)
480 DEF_FUNCTION_TYPE (VOID, PV2SI, V2SI)
481 DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI)
482 DEF_FUNCTION_TYPE (VOID, PV2SF, V4SF)
483 DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI)
484 DEF_FUNCTION_TYPE (VOID, PV4SF, V4SF)
485 DEF_FUNCTION_TYPE (VOID, PV8SF, V8SF)
486 DEF_FUNCTION_TYPE (VOID, UNSIGNED, UNSIGNED)
487 DEF_FUNCTION_TYPE (VOID, PV8DI, V8DI)
489 # Instructions returning mask
490 DEF_FUNCTION_TYPE (HI, HI)
491 DEF_FUNCTION_TYPE (HI, HI, HI)
492 DEF_FUNCTION_TYPE (HI, HI, INT)
493 DEF_FUNCTION_TYPE (QI, V8DI, V8DI)
494 DEF_FUNCTION_TYPE (QI, V8DI, V8DI, QI)
495 DEF_FUNCTION_TYPE (HI, V16SI, V16SI)
496 DEF_FUNCTION_TYPE (HI, V16SI, V16SI, HI)
497 DEF_FUNCTION_TYPE (QI, V8DI, V8DI, INT)
498 DEF_FUNCTION_TYPE (QI, V8DI, V8DI, INT, QI)
499 DEF_FUNCTION_TYPE (HI, V16SI, V16SI, INT)
500 DEF_FUNCTION_TYPE (HI, V16SI, V16SI, INT ,HI)
501 DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT)
502 DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT, QI)
503 DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT, QI, INT)
504 DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT)
505 DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT, HI)
506 DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT, HI, INT)
507 DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT)
508 DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT, QI)
509 DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT, QI, INT)
510 DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT)
511 DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI)
512 DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI, INT)
513 DEF_FUNCTION_TYPE (V16SI, HI)
514 DEF_FUNCTION_TYPE (V8DI, QI)
516 DEF_FUNCTION_TYPE (INT, V16QI, V16QI, INT)
517 DEF_FUNCTION_TYPE (UCHAR, UINT, UINT, UINT)
518 DEF_FUNCTION_TYPE (UCHAR, UINT64, UINT, UINT)
519 DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, V16HI)
520 DEF_FUNCTION_TYPE (V16QI, V16QI, QI, INT)
521 DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, INT)
522 DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, V16QI)
523 DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI, INT)
524 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT)
525 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, INT)
526 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF)
527 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT)
528 DEF_FUNCTION_TYPE (V2DI, V2DI, DI, INT)
529 DEF_FUNCTION_TYPE (V2DI, V2DI, UINT, UINT)
530 DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, INT)
531 DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, V2DI)
532 DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, V32QI)
533 DEF_FUNCTION_TYPE (V4DF, V4DF, V2DF, INT)
534 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, INT)
535 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DF)
536 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI, INT)
537 DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, V4DI)
538 DEF_FUNCTION_TYPE (V4HI, V4HI, HI, INT)
539 DEF_FUNCTION_TYPE (V4SF, V4SF, FLOAT, INT)
540 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT)
541 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, INT)
542 DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, INT)
543 DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, INT)
544 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF)
545 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT)
546 DEF_FUNCTION_TYPE (V4SI, V4SI, SI, INT)
547 DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, INT)
548 DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V2DI)
549 DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI)
550 DEF_FUNCTION_TYPE (V8HI, V8HI, HI, INT)
551 DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, INT)
552 DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V4SI)
553 DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V8HI)
554 DEF_FUNCTION_TYPE (V8SF, V8SF, V4SF, INT)
555 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, INT)
556 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SF)
557 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI, INT)
558 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF)
559 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF)
560 DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI, INT)
561 DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, INT)
562 DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, V8SI)
563 DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, INT)
564 DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI, INT)
566 # Instructions with masking
567 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, QI)
568 DEF_FUNCTION_TYPE (V8DF, V8SF, V8DF, QI)
569 DEF_FUNCTION_TYPE (V8DF, V8SI, V8DF, QI)
570 DEF_FUNCTION_TYPE (V8DI, V8SI, V8DI, QI)
571 DEF_FUNCTION_TYPE (V8DI, V8HI, V8DI, QI)
572 DEF_FUNCTION_TYPE (V8DI, V16QI, V8DI, QI)
573 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI, QI)
574 DEF_FUNCTION_TYPE (V8DF, V8DI, V8DF, V8DF)
575 DEF_FUNCTION_TYPE (V8DF, V8DI, V8DF, V8DF, QI)
576 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI, V8DF, QI)
577 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF, QI)
578 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI, HI)
579 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, QI)
580 DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, V2DF, QI)
581 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, HI)
582 DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, HI)
583 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF, HI)
584 DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, V16SF)
585 DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, V16SF, HI)
586 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI, V16SF, HI)
587 DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, V4SF, QI)
588 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, QI)
589 DEF_FUNCTION_TYPE (V16SF, V4SF, V16SF, HI)
590 DEF_FUNCTION_TYPE (V8DF, V4DF, V8DF, QI)
591 DEF_FUNCTION_TYPE (V8DF, V2DF, V8DF, QI)
592 DEF_FUNCTION_TYPE (V16SI, V4SI, V16SI, HI)
593 DEF_FUNCTION_TYPE (V16SI, SI, V16SI, HI)
594 DEF_FUNCTION_TYPE (V16SI, V16HI, V16SI, HI)
595 DEF_FUNCTION_TYPE (V16SI, V16QI, V16SI, HI)
596 DEF_FUNCTION_TYPE (V8SI, V8DF, V8SI, QI)
597 DEF_FUNCTION_TYPE (V8DI, V4DI, V8DI, QI)
598 DEF_FUNCTION_TYPE (V8DI, V2DI, V8DI, QI)
599 DEF_FUNCTION_TYPE (V8DI, DI, V8DI, QI)
600 DEF_FUNCTION_TYPE (V16SF, PCV16SF, V16SF, HI)
601 DEF_FUNCTION_TYPE (V8DF, PCV8DF, V8DF, QI)
602 DEF_FUNCTION_TYPE (V16SI, PCV16SI, V16SI, HI)
603 DEF_FUNCTION_TYPE (V8DI, PCV8DI, V8DI, QI)
604 DEF_FUNCTION_TYPE (V2DF, PCDOUBLE, V2DF, QI)
605 DEF_FUNCTION_TYPE (V4SF, PCFLOAT, V4SF, QI)
606 DEF_FUNCTION_TYPE (V16QI, V16SI, V16QI, HI)
607 DEF_FUNCTION_TYPE (V16HI, V16SI, V16HI, HI)
608 DEF_FUNCTION_TYPE (V8SI, V8DI, V8SI, QI)
609 DEF_FUNCTION_TYPE (V8HI, V8DI, V8HI, QI)
610 DEF_FUNCTION_TYPE (V16QI, V8DI, V16QI, QI)
611 DEF_FUNCTION_TYPE (VOID, PV8DF, V8DF, QI)
612 DEF_FUNCTION_TYPE (VOID, PV8SI, V8DI, QI)
613 DEF_FUNCTION_TYPE (VOID, PV8HI, V8DI, QI)
614 DEF_FUNCTION_TYPE (VOID, PV16SF, V16SF, HI)
615 DEF_FUNCTION_TYPE (VOID, PV8DI, V8DI, QI)
616 DEF_FUNCTION_TYPE (VOID, PV16SI, V16SI, HI)
617 DEF_FUNCTION_TYPE (VOID, PV16HI, V16SI, HI)
618 DEF_FUNCTION_TYPE (VOID, PV16QI, V16SI, HI)
619 DEF_FUNCTION_TYPE (VOID, PV16QI, V8DI, QI)
620 DEF_FUNCTION_TYPE (VOID, PDOUBLE, V2DF, QI)
621 DEF_FUNCTION_TYPE (VOID, PFLOAT, V4SF, QI)
622 DEF_FUNCTION_TYPE (V16SI, V16SF, V16SI, HI)
623 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI, INT, QI)
624 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI, INT, HI)
626 DEF_FUNCTION_TYPE (VOID, PCVOID, UNSIGNED, UNSIGNED)
627 DEF_FUNCTION_TYPE (VOID, PV2DF, V2DI, V2DF)
628 DEF_FUNCTION_TYPE (VOID, PV4DF, V4DI, V4DF)
629 DEF_FUNCTION_TYPE (VOID, PV4SF, V4SI, V4SF)
630 DEF_FUNCTION_TYPE (VOID, PV8SF, V8SI, V8SF)
631 DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI, V2DI)
632 DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI, V4DI)
633 DEF_FUNCTION_TYPE (VOID, PV4SI, V4SI, V4SI)
634 DEF_FUNCTION_TYPE (VOID, PV8SI, V8SI, V8SI)
635 DEF_FUNCTION_TYPE (VOID, UINT, UINT, UINT)
636 DEF_FUNCTION_TYPE (VOID, UINT64, UINT, UINT)
637 DEF_FUNCTION_TYPE (VOID, V16QI, V16QI, PCHAR)
638 DEF_FUNCTION_TYPE (VOID, V8QI, V8QI, PCHAR)
639 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI)
640 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI)
641 DEF_FUNCTION_TYPE (V2UDI, V2UDI, V2UDI, V2UDI)
642 DEF_FUNCTION_TYPE (V4USI, V4USI, V4USI, V4USI)
643 DEF_FUNCTION_TYPE (V8UHI, V8UHI, V8UHI, V8UHI)
644 DEF_FUNCTION_TYPE (V16UQI, V16UQI, V16UQI, V16UQI)
645 DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI)
646 DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI)
647 DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI)
648 DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI)
649 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI, V8DF)
650 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI, V16SF)
651 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, V4SF, QI)
652 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, V2DF, QI)
653 DEF_FUNCTION_TYPE (V8DI, V16SI, V16SI, V8DI, QI)
655 DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, UINT, UINT)
656 DEF_FUNCTION_TYPE (V4HI, HI, HI, HI, HI)
658 DEF_FUNCTION_TYPE (INT, V16QI, INT, V16QI, INT, INT)
659 DEF_FUNCTION_TYPE (V16QI, V16QI, INT, V16QI, INT, INT)
661 DEF_FUNCTION_TYPE (V8QI, QI, QI, QI, QI, QI, QI, QI, QI)
663 DEF_FUNCTION_TYPE (UCHAR, UCHAR, UINT, UINT, PUNSIGNED)
664 DEF_FUNCTION_TYPE (UCHAR, UCHAR, ULONGLONG, ULONGLONG, PULONGLONG)
666 # Instructions with rounding
667 DEF_FUNCTION_TYPE (UINT64, V2DF, INT)
668 DEF_FUNCTION_TYPE (UINT64, V4SF, INT)
669 DEF_FUNCTION_TYPE (UINT, V2DF, INT)
670 DEF_FUNCTION_TYPE (UINT, V4SF, INT)
671 DEF_FUNCTION_TYPE (INT64, V2DF, INT)
672 DEF_FUNCTION_TYPE (INT64, V4SF, INT)
673 DEF_FUNCTION_TYPE (INT, V2DF, INT)
674 DEF_FUNCTION_TYPE (INT, V4SF, INT)
675 DEF_FUNCTION_TYPE (V2DF, V2DF, UINT64, INT)
676 DEF_FUNCTION_TYPE (V4SF, V4SF, UINT64, INT)
677 DEF_FUNCTION_TYPE (V4SF, V4SF, UINT, INT)
678 DEF_FUNCTION_TYPE (V2DF, V2DF, INT64, INT)
679 DEF_FUNCTION_TYPE (V4SF, V4SF, INT64, INT)
680 DEF_FUNCTION_TYPE (V4SF, V4SF, INT, INT)
681 DEF_FUNCTION_TYPE (V16SI, V16SF, V16SI, HI, INT)
682 DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, HI, INT)
683 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, HI, INT)
684 DEF_FUNCTION_TYPE (V16SF, V16HI, V16SF, HI, INT)
685 DEF_FUNCTION_TYPE (V8SI, V8DF, V8SI, QI, INT)
686 DEF_FUNCTION_TYPE (V8SF, V8DF, V8SF, QI, INT)
687 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, QI, INT)
688 DEF_FUNCTION_TYPE (V8DF, V8SF, V8DF, QI, INT)
689 DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF, HI, INT)
690 DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF, QI, INT)
691 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, QI, INT)
692 DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, V4SF, QI, INT)
693 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, QI, INT)
694 DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, V2DF, QI, INT)
695 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, INT)
696 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, INT)
698 DEF_FUNCTION_TYPE (V16SF, V16SF, INT, V16SF, HI, INT)
699 DEF_FUNCTION_TYPE (V8DF, V8DF, INT, V8DF, QI, INT)
700 DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, V4SF, QI, INT)
701 DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, V2DF, QI, INT)
702 DEF_FUNCTION_TYPE (V8DI, V8DI, SI, V8DI, V8DI)
704 DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V4SI, V2DF, INT)
705 DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4SI, V4DF, INT)
706 DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V8SI, V4DF, INT)
707 DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V2DI, V2DF, INT)
708 DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4DI, V4DF, INT)
709 DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4SI, V4SF, INT)
710 DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V8SI, V8SF, INT)
711 DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V2DI, V4SF, INT)
712 DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4DI, V4SF, INT)
713 DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V4DI, V8SF, INT)
714 DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V4SI, V2DI, INT)
715 DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4SI, V4DI, INT)
716 DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V8SI, V4DI, INT)
717 DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V2DI, V2DI, INT)
718 DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4DI, V4DI, INT)
719 DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4SI, V4SI, INT)
720 DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V8SI, V8SI, INT)
721 DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V2DI, V4SI, INT)
722 DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4DI, V4SI, INT)
723 DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V4DI, V8SI, INT)
725 DEF_FUNCTION_TYPE (V16SF, V16SF, PCFLOAT, V16SI, HI, INT)
726 DEF_FUNCTION_TYPE (V16SF, V16SF, PCFLOAT, V8DI, HI, INT)
727 DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V8SI, QI, INT)
728 DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V16SI, QI, INT)
729 DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V8DI, QI, INT)
730 DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V8DI, QI, INT)
731 DEF_FUNCTION_TYPE (V16SI, V16SI, PCINT, V16SI, HI, INT)
732 DEF_FUNCTION_TYPE (V16SI, V16SI, PCINT, V8DI, HI, INT)
733 DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V8SI, QI, INT)
734 DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V16SI, QI, INT)
735 DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V8DI, QI, INT)
736 DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V8DI, QI, INT)
737 DEF_FUNCTION_TYPE (VOID, PFLOAT, HI, V16SI, V16SF, INT)
738 DEF_FUNCTION_TYPE (VOID, PDOUBLE, QI, V8SI, V8DF, INT)
739 DEF_FUNCTION_TYPE (VOID, PFLOAT, QI, V8DI, V8SF, INT)
740 DEF_FUNCTION_TYPE (VOID, PDOUBLE, QI, V8DI, V8DF, INT)
741 DEF_FUNCTION_TYPE (VOID, PINT, HI, V16SI, V16SI, INT)
742 DEF_FUNCTION_TYPE (VOID, PLONGLONG, QI, V8SI, V8DI, INT)
743 DEF_FUNCTION_TYPE (VOID, PINT, QI, V8DI, V8SI, INT)
744 DEF_FUNCTION_TYPE (VOID, PLONGLONG, QI, V8DI, V8DI, INT)
746 DEF_FUNCTION_TYPE (VOID, QI, V8SI, PCINT64, INT, INT)
747 DEF_FUNCTION_TYPE (VOID, HI, V16SI, PCINT, INT, INT)
748 DEF_FUNCTION_TYPE (VOID, QI, V8DI, PCINT64, INT, INT)
749 DEF_FUNCTION_TYPE (VOID, QI, V8DI, PCINT, INT, INT)
751 DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, ROUND)
752 DEF_FUNCTION_TYPE_ALIAS (V4DF_FTYPE_V4DF, ROUND)
753 DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, ROUND)
754 DEF_FUNCTION_TYPE_ALIAS (V8SF_FTYPE_V8SF, ROUND)
756 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V2DF_V2DF, ROUND)
757 DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V4DF_V4DF, ROUND)
758 DEF_FUNCTION_TYPE_ALIAS (V16SI_FTYPE_V8DF_V8DF, ROUND)
759 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SF, ROUND)
760 DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SF, ROUND)
762 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DF_V2DF, PTEST)
763 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DI_V2DI, PTEST)
764 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DF_V4DF, PTEST)
765 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DI_V4DI, PTEST)
766 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4SF_V4SF, PTEST)
767 DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V8SF_V8SF, PTEST)
769 DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, VEC_MERGE)
770 DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, VEC_MERGE)
772 DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_SI, COUNT)
773 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_SI, COUNT)
774 DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_SI, COUNT)
775 DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_SI, COUNT)
776 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_SI, COUNT)
777 DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_SI, COUNT)
778 DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI, COUNT)
779 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, COUNT)
780 DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_V2SI, COUNT)
781 DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_V4HI, COUNT)
782 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, COUNT)
783 DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, COUNT)
784 DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_SI, COUNT)
785 DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_V8HI, COUNT)
786 DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_SI, COUNT)
787 DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_V4SI, COUNT)
788 DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, COUNT)
789 DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V2DI, COUNT)
791 DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, SWAP)
792 DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, SWAP)
794 DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, CONVERT)
795 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_INT, CONVERT)
796 DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V4DI_INT, CONVERT)
797 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI_INT, CONVERT)
798 DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI_INT, CONVERT)
800 DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, CMP)
801 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, CMP)
802 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, CMP)
803 DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, CMP)
805 DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, TF)
806 DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, TF)
807 DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, TF)
808 DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, TF)
809 DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, TF)
810 DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, TF)
812 # MPX builtins
813 DEF_FUNCTION_TYPE (BND, PCVOID, ULONG)
814 DEF_FUNCTION_TYPE (VOID, PCVOID, BND)
815 DEF_FUNCTION_TYPE (VOID, PCVOID, BND, PCVOID)
816 DEF_FUNCTION_TYPE (BND, PCVOID, PCVOID)
817 DEF_FUNCTION_TYPE (BND, PCVOID)
818 DEF_FUNCTION_TYPE (BND, BND, BND)
819 DEF_FUNCTION_TYPE (PVOID, PVOID, PVOID, ULONG)
820 DEF_FUNCTION_TYPE (PVOID, PCVOID, BND, ULONG)
821 DEF_FUNCTION_TYPE (ULONG, VOID)
822 DEF_FUNCTION_TYPE (PVOID, BND)