From 1bc5aee63eb72b341f506ad058502cd0361f0d10 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Tue, 25 Mar 2014 22:37:19 -0700 Subject: Initial checkin of GCC 4.9.0 from trunk (r208799). Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba --- gcc-4.9/gcc/config/i386/i386-builtin-types.def | 808 +++++++++++++++++++++++++ 1 file changed, 808 insertions(+) create mode 100644 gcc-4.9/gcc/config/i386/i386-builtin-types.def (limited to 'gcc-4.9/gcc/config/i386/i386-builtin-types.def') diff --git a/gcc-4.9/gcc/config/i386/i386-builtin-types.def b/gcc-4.9/gcc/config/i386/i386-builtin-types.def new file mode 100644 index 000000000..822c5e504 --- /dev/null +++ b/gcc-4.9/gcc/config/i386/i386-builtin-types.def @@ -0,0 +1,808 @@ +# This file provides a declarative way of describing the types that +# are used when declaring ix86 builtin functions. It is processed +# with i386-builtin-type.awk to produce C code. +# +# DEF_PRIMITIVE_TYPE (ENUM, TYPE) +# +# The ENUM is an identifier indicating which type is being defined. +# TYPE is a variable that represents the type. +# ??? Note that the awk program expects a single token for TYPE. +# At present, that's all that's required; revisit if it turns out +# that we need more than that. +# +# DEF_VECTOR_TYPE (ENUM, TYPE [, MODE]) +# +# This describes a vector type. ENUM is an identifier as above. +# TYPE is the enumeral for the inner type which should of course +# name a type of the proper inner mode. If present, MODE is the +# machine mode, else the machine mode should be the same as ENUM. +# +# DEF_POINTER_TYPE (ENUM, TYPE [, CONST]) +# +# This describes a pointer type. ENUM is an identifier as above; +# TYPE is the enumeral for the type pointed to. An optional third +# argument is the keyword CONST, which defines this to be a pointer to +# a constant type. +# +# DEF_FUNCTION_TYPE (RETURN, ARGN*) +# +# This describes a function type. The return type and the arguments +# are the enumerals defined above. The enumeration name for the +# function is formed by RETURN ## _FTYPE_ ## ARG1 ## _ ## ARG2 ... +# +# DEF_FUNCTION_TYPE_ALIAS (ENUM, SUFFIX) +# +# This defines an enumeration ENUM ## _ ## SUFFIX and arranges for +# the function type to be copied from ENUM. This is used to control +# how the expanders treat the function. +# + +DEF_PRIMITIVE_TYPE (VOID, void_type_node) +DEF_PRIMITIVE_TYPE (CHAR, char_type_node) +DEF_PRIMITIVE_TYPE (UCHAR, unsigned_char_type_node) +# ??? Logically this should be intQI_type_node, but that maps to "signed char" +# which is a different type than "char" even if "char" is signed. This must +# match the usage in emmintrin.h and changing this would change name mangling +# and so is not advisable. +DEF_PRIMITIVE_TYPE (QI, char_type_node) +DEF_PRIMITIVE_TYPE (HI, intHI_type_node) +DEF_PRIMITIVE_TYPE (SI, intSI_type_node) +# ??? Logically this should be intDI_type_node, but that maps to "long" +# with 64-bit, and that's not how the emmintrin.h is written. Again, +# changing this would change name mangling. +DEF_PRIMITIVE_TYPE (DI, long_long_integer_type_node) +DEF_PRIMITIVE_TYPE (UQI, unsigned_intQI_type_node) +DEF_PRIMITIVE_TYPE (UHI, unsigned_intHI_type_node) +DEF_PRIMITIVE_TYPE (USI, unsigned_intSI_type_node) +DEF_PRIMITIVE_TYPE (UDI, long_long_unsigned_type_node) +# ??? Some of the types below should use the mode types above. +DEF_PRIMITIVE_TYPE (USHORT, short_unsigned_type_node) +DEF_PRIMITIVE_TYPE (INT, integer_type_node) +DEF_PRIMITIVE_TYPE (UINT, unsigned_type_node) +DEF_PRIMITIVE_TYPE (UNSIGNED, unsigned_type_node) +DEF_PRIMITIVE_TYPE (LONGLONG, long_long_integer_type_node) +DEF_PRIMITIVE_TYPE (ULONGLONG, long_long_unsigned_type_node) +DEF_PRIMITIVE_TYPE (UINT8, unsigned_char_type_node) +DEF_PRIMITIVE_TYPE (UINT16, short_unsigned_type_node) +DEF_PRIMITIVE_TYPE (INT64, long_long_integer_type_node) +DEF_PRIMITIVE_TYPE (UINT64, long_long_unsigned_type_node) +DEF_PRIMITIVE_TYPE (FLOAT, float_type_node) +DEF_PRIMITIVE_TYPE (DOUBLE, double_type_node) +DEF_PRIMITIVE_TYPE (FLOAT80, float80_type_node) +DEF_PRIMITIVE_TYPE (FLOAT128, float128_type_node) + +# MMX vectors +DEF_VECTOR_TYPE (V2SF, FLOAT) +DEF_VECTOR_TYPE (V1DI, DI) +DEF_VECTOR_TYPE (V2SI, SI) +DEF_VECTOR_TYPE (V4HI, HI) +DEF_VECTOR_TYPE (V8QI, QI) + +# SSE vectors +DEF_VECTOR_TYPE (V2DF, DOUBLE) +DEF_VECTOR_TYPE (V4SF, FLOAT) +DEF_VECTOR_TYPE (V2DI, DI) +DEF_VECTOR_TYPE (V4SI, SI) +DEF_VECTOR_TYPE (V8HI, HI) +DEF_VECTOR_TYPE (V16QI, QI) +DEF_VECTOR_TYPE (V2UDI, UDI, V2DI) +DEF_VECTOR_TYPE (V4USI, USI, V4SI) +DEF_VECTOR_TYPE (V8UHI, UHI, V8HI) +DEF_VECTOR_TYPE (V16UQI, UQI, V16QI) + +# AVX vectors +DEF_VECTOR_TYPE (V4DF, DOUBLE) +DEF_VECTOR_TYPE (V8SF, FLOAT) +DEF_VECTOR_TYPE (V4DI, DI) +DEF_VECTOR_TYPE (V8SI, SI) +DEF_VECTOR_TYPE (V16HI, HI) +DEF_VECTOR_TYPE (V32QI, QI) +DEF_VECTOR_TYPE (V4UDI, UDI, V4DI) +DEF_VECTOR_TYPE (V8USI, USI, V8SI) +DEF_VECTOR_TYPE (V16UHI, UHI, V16HI) + +# AVX512F vectors +DEF_VECTOR_TYPE (V32SF, FLOAT) +DEF_VECTOR_TYPE (V16SF, FLOAT) +DEF_VECTOR_TYPE (V8DF, DOUBLE) +DEF_VECTOR_TYPE (V8DI, DI) +DEF_VECTOR_TYPE (V16SI, SI) +DEF_VECTOR_TYPE (V64QI, QI) + +DEF_POINTER_TYPE (PCCHAR, CHAR, CONST) +DEF_POINTER_TYPE (PCDOUBLE, DOUBLE, CONST) +DEF_POINTER_TYPE (PCFLOAT, FLOAT, CONST) +DEF_POINTER_TYPE (PCINT, INT, CONST) +DEF_POINTER_TYPE (PCINT64, INT64, CONST) +DEF_POINTER_TYPE (PCHAR, CHAR) +DEF_POINTER_TYPE (PCVOID, VOID, CONST) +DEF_POINTER_TYPE (PVOID, VOID) +DEF_POINTER_TYPE (PDOUBLE, DOUBLE) +DEF_POINTER_TYPE (PFLOAT, FLOAT) +DEF_POINTER_TYPE (PUSHORT, USHORT) +DEF_POINTER_TYPE (PINT, INT) +DEF_POINTER_TYPE (PLONGLONG, LONGLONG) +DEF_POINTER_TYPE (PULONGLONG, ULONGLONG) +DEF_POINTER_TYPE (PUNSIGNED, UNSIGNED) + +DEF_POINTER_TYPE (PV2SI, V2SI) +DEF_POINTER_TYPE (PV2DF, V2DF) +DEF_POINTER_TYPE (PV2DI, V2DI) +DEF_POINTER_TYPE (PV2SF, V2SF) +DEF_POINTER_TYPE (PV4DF, V4DF) +DEF_POINTER_TYPE (PV4DI, V4DI) +DEF_POINTER_TYPE (PV4SF, V4SF) +DEF_POINTER_TYPE (PV8DF, V8DF) +DEF_POINTER_TYPE (PV8SF, V8SF) +DEF_POINTER_TYPE (PV4SI, V4SI) +DEF_POINTER_TYPE (PV8HI, V8HI) +DEF_POINTER_TYPE (PV8SI, V8SI) +DEF_POINTER_TYPE (PV8DI, V8DI) +DEF_POINTER_TYPE (PV16QI, V16QI) +DEF_POINTER_TYPE (PV16HI, V16HI) +DEF_POINTER_TYPE (PV16SI, V16SI) +DEF_POINTER_TYPE (PV16SF, V16SF) + +DEF_POINTER_TYPE (PCV2SI, V2SI, CONST) +DEF_POINTER_TYPE (PCV2DF, V2DF, CONST) +DEF_POINTER_TYPE (PCV2SF, V2SF, CONST) +DEF_POINTER_TYPE (PCV4DF, V4DF, CONST) +DEF_POINTER_TYPE (PCV4SF, V4SF, CONST) +DEF_POINTER_TYPE (PCV8DF, V8DF, CONST) +DEF_POINTER_TYPE (PCV8SF, V8SF, CONST) +DEF_POINTER_TYPE (PCV16SF, V16SF, CONST) + +DEF_POINTER_TYPE (PCV2DI, V2DI, CONST) +DEF_POINTER_TYPE (PCV4SI, V4SI, CONST) +DEF_POINTER_TYPE (PCV4DI, V4DI, CONST) +DEF_POINTER_TYPE (PCV8SI, V8SI, CONST) +DEF_POINTER_TYPE (PCV8DI, V8DI, CONST) +DEF_POINTER_TYPE (PCV16SI, V16SI, CONST) + +DEF_FUNCTION_TYPE (FLOAT128) +DEF_FUNCTION_TYPE (UINT64) +DEF_FUNCTION_TYPE (UNSIGNED) +DEF_FUNCTION_TYPE (INT) +DEF_FUNCTION_TYPE (VOID) +DEF_FUNCTION_TYPE (PVOID) + +DEF_FUNCTION_TYPE (FLOAT, FLOAT) +DEF_FUNCTION_TYPE (FLOAT128, FLOAT128) +DEF_FUNCTION_TYPE (INT, INT) +DEF_FUNCTION_TYPE (INT, V16QI) +DEF_FUNCTION_TYPE (INT, V2DF) +DEF_FUNCTION_TYPE (INT, V4DF) +DEF_FUNCTION_TYPE (INT, V4SF) +DEF_FUNCTION_TYPE (INT, V8QI) +DEF_FUNCTION_TYPE (INT, V8SF) +DEF_FUNCTION_TYPE (INT, V32QI) +DEF_FUNCTION_TYPE (INT, PCCHAR) +DEF_FUNCTION_TYPE (INT64, INT64) +DEF_FUNCTION_TYPE (INT64, V2DF) +DEF_FUNCTION_TYPE (INT64, V4SF) +DEF_FUNCTION_TYPE (UINT64, INT) +DEF_FUNCTION_TYPE (UINT16, UINT16) +DEF_FUNCTION_TYPE (UINT64, PUNSIGNED) +DEF_FUNCTION_TYPE (V16QI, PCCHAR) +DEF_FUNCTION_TYPE (V16QI, V16QI) +DEF_FUNCTION_TYPE (V16QI, V16SI) +DEF_FUNCTION_TYPE (V2DF, PCDOUBLE) +DEF_FUNCTION_TYPE (V2DF, V2DF) +DEF_FUNCTION_TYPE (V2DF, V2SI) +DEF_FUNCTION_TYPE (V2DF, V4DF) +DEF_FUNCTION_TYPE (V2DF, V4SF) +DEF_FUNCTION_TYPE (V2DF, V4SI) +DEF_FUNCTION_TYPE (V2DI, PV2DI) +DEF_FUNCTION_TYPE (V2DI, V16QI) +DEF_FUNCTION_TYPE (V2DI, V2DI) +DEF_FUNCTION_TYPE (V2DI, V4SI) +DEF_FUNCTION_TYPE (V2DI, V8HI) +DEF_FUNCTION_TYPE (V2SF, V2SF) +DEF_FUNCTION_TYPE (V2SF, V2SI) +DEF_FUNCTION_TYPE (V2SI, V2DF) +DEF_FUNCTION_TYPE (V2SI, V2SF) +DEF_FUNCTION_TYPE (V2SI, V2SI) +DEF_FUNCTION_TYPE (V2SI, PCV2SI) +DEF_FUNCTION_TYPE (V2SI, V4SF) +DEF_FUNCTION_TYPE (V32QI, PCCHAR) +DEF_FUNCTION_TYPE (V4DF, PCDOUBLE) +DEF_FUNCTION_TYPE (V4DF, PCV2DF) +DEF_FUNCTION_TYPE (V4DF, V2DF) +DEF_FUNCTION_TYPE (V4DF, V4DF) +DEF_FUNCTION_TYPE (V4DF, V4SF) +DEF_FUNCTION_TYPE (V4DF, V4SI) +DEF_FUNCTION_TYPE (V8DF, V8SI) +DEF_FUNCTION_TYPE (V8DF, V8DF) +DEF_FUNCTION_TYPE (V4HI, V4HI) +DEF_FUNCTION_TYPE (V4SF, PCFLOAT) +DEF_FUNCTION_TYPE (V4SF, V2DF) +DEF_FUNCTION_TYPE (V4SF, V4DF) +DEF_FUNCTION_TYPE (V4SF, V4SF) +DEF_FUNCTION_TYPE (V4SF, PCV4SF) +DEF_FUNCTION_TYPE (V4SF, V4SI) +DEF_FUNCTION_TYPE (V4SF, V8SF) +DEF_FUNCTION_TYPE (V4SF, V8HI) +DEF_FUNCTION_TYPE (V4SI, V16QI) +DEF_FUNCTION_TYPE (V4SI, V2DF) +DEF_FUNCTION_TYPE (V4SI, V4DF) +DEF_FUNCTION_TYPE (V4SI, V4SF) +DEF_FUNCTION_TYPE (V4SI, V4SI) +DEF_FUNCTION_TYPE (V4SI, V8HI) +DEF_FUNCTION_TYPE (V4SI, V8SI) +DEF_FUNCTION_TYPE (V8HI, V16QI) +DEF_FUNCTION_TYPE (V8HI, V8DI) +DEF_FUNCTION_TYPE (V8HI, V8HI) +DEF_FUNCTION_TYPE (V8QI, V8QI) +DEF_FUNCTION_TYPE (V8SF, PCFLOAT) +DEF_FUNCTION_TYPE (V8SF, PCV4SF) +DEF_FUNCTION_TYPE (V8SF, PCV8SF) +DEF_FUNCTION_TYPE (V8SF, V4SF) +DEF_FUNCTION_TYPE (V8SF, V8SF) +DEF_FUNCTION_TYPE (V8SF, V8SI) +DEF_FUNCTION_TYPE (V8SF, V8HI) +DEF_FUNCTION_TYPE (V16SF, V16SF) +DEF_FUNCTION_TYPE (V8SI, V8DI) +DEF_FUNCTION_TYPE (V8SI, V4SI) +DEF_FUNCTION_TYPE (V8SF, V8DF) +DEF_FUNCTION_TYPE (V8SF, V8DF, V8SF, QI) +DEF_FUNCTION_TYPE (V8SI, V8SF) +DEF_FUNCTION_TYPE (V32QI, V32QI) +DEF_FUNCTION_TYPE (V32QI, V16QI) +DEF_FUNCTION_TYPE (V16HI, V16SI) +DEF_FUNCTION_TYPE (V16HI, V16HI) +DEF_FUNCTION_TYPE (V16HI, V8HI) +DEF_FUNCTION_TYPE (V8SI, V8SI) +DEF_FUNCTION_TYPE (VOID, PCVOID) +DEF_FUNCTION_TYPE (VOID, PVOID) +DEF_FUNCTION_TYPE (VOID, UINT64) +DEF_FUNCTION_TYPE (VOID, UNSIGNED) +DEF_FUNCTION_TYPE (VOID, PUSHORT) +DEF_FUNCTION_TYPE (INT, PUSHORT) +DEF_FUNCTION_TYPE (INT, PUNSIGNED) +DEF_FUNCTION_TYPE (INT, PULONGLONG) +DEF_FUNCTION_TYPE (V16HI, V16QI) +DEF_FUNCTION_TYPE (V8SI, V16QI) +DEF_FUNCTION_TYPE (V4DI, V16QI) +DEF_FUNCTION_TYPE (V8SI, V8HI) +DEF_FUNCTION_TYPE (V4DI, V8HI) +DEF_FUNCTION_TYPE (V4DI, V4SI) +DEF_FUNCTION_TYPE (V4DI, PV4DI) +DEF_FUNCTION_TYPE (V4DI, V2DI) +DEF_FUNCTION_TYPE (V16SF, FLOAT) +DEF_FUNCTION_TYPE (V16SI, INT) +DEF_FUNCTION_TYPE (V8DF, DOUBLE) +DEF_FUNCTION_TYPE (V8DI, INT64) +DEF_FUNCTION_TYPE (V16SF, V4SF) +DEF_FUNCTION_TYPE (V8DF, V4DF) +DEF_FUNCTION_TYPE (V8DI, V4DI) +DEF_FUNCTION_TYPE (V16QI, V8DI) +DEF_FUNCTION_TYPE (UINT, V4SF) +DEF_FUNCTION_TYPE (UINT64, V4SF) +DEF_FUNCTION_TYPE (UINT, V2DF) +DEF_FUNCTION_TYPE (UINT64, V2DF) +DEF_FUNCTION_TYPE (V16SI, V16SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, HI) +DEF_FUNCTION_TYPE (V8DI, V8DI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, QI) +DEF_FUNCTION_TYPE (V16SI, PV4SI) +DEF_FUNCTION_TYPE (V16SF, PV4SF) +DEF_FUNCTION_TYPE (V8DI, PV4DI) +DEF_FUNCTION_TYPE (V8DF, PV4DF) +DEF_FUNCTION_TYPE (V8UHI, V8UHI) +DEF_FUNCTION_TYPE (V8USI, V8USI) +DEF_FUNCTION_TYPE (V8DI, PV8DI) + +DEF_FUNCTION_TYPE (DI, V2DI, INT) +DEF_FUNCTION_TYPE (DOUBLE, V2DF, INT) +DEF_FUNCTION_TYPE (FLOAT, V4SF, INT) +DEF_FUNCTION_TYPE (FLOAT128, FLOAT128, FLOAT128) +DEF_FUNCTION_TYPE (HI, V4HI, INT) +DEF_FUNCTION_TYPE (HI, V8HI, INT) +DEF_FUNCTION_TYPE (INT, V2DF, V2DF) +DEF_FUNCTION_TYPE (INT, V2DI, V2DI) +DEF_FUNCTION_TYPE (INT, V4DF, V4DF) +DEF_FUNCTION_TYPE (INT, V4DI, V4DI) +DEF_FUNCTION_TYPE (INT, V4SF, V4SF) +DEF_FUNCTION_TYPE (INT, V8SF, V8SF) +DEF_FUNCTION_TYPE (QI, V16QI, INT) +DEF_FUNCTION_TYPE (QI, V8QI, INT) +DEF_FUNCTION_TYPE (SI, V2SI, INT) +DEF_FUNCTION_TYPE (SI, V4SI, INT) +DEF_FUNCTION_TYPE (UINT, UINT, UCHAR) +DEF_FUNCTION_TYPE (UINT, UINT, UINT) +DEF_FUNCTION_TYPE (UINT, UINT, USHORT) +DEF_FUNCTION_TYPE (UINT16, UINT16, INT) +DEF_FUNCTION_TYPE (UINT64, UINT64, UINT64) +DEF_FUNCTION_TYPE (UINT8, UINT8, INT) +DEF_FUNCTION_TYPE (V16QI, V16QI, SI) +DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI) +DEF_FUNCTION_TYPE (V16QI, V8HI, V8HI) +DEF_FUNCTION_TYPE (V1DI, V1DI, SI) +DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI) +DEF_FUNCTION_TYPE (V1DI, V2SI, V2SI) +DEF_FUNCTION_TYPE (V1DI, V8QI, V8QI) +DEF_FUNCTION_TYPE (V2DF, PCV2DF, V2DI) +DEF_FUNCTION_TYPE (V2DF, V2DF, UINT) +DEF_FUNCTION_TYPE (V2DF, V2DF, UINT64) +DEF_FUNCTION_TYPE (V2DF, V2DF, DI) +DEF_FUNCTION_TYPE (V2DF, V2DF, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE) +DEF_FUNCTION_TYPE (V2DF, V2DF, SI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF) +DEF_FUNCTION_TYPE (V2DF, V4DF, INT) +DEF_FUNCTION_TYPE (V2DI, V16QI, V16QI) +DEF_FUNCTION_TYPE (V2DI, V2DF, V2DF) +DEF_FUNCTION_TYPE (V2DI, V2DI, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, SI) +DEF_FUNCTION_TYPE (V2DI, V2DI, V16QI) +DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI) +DEF_FUNCTION_TYPE (V2DI, V4SI, V4SI) +DEF_FUNCTION_TYPE (V2UDI, V4USI, V4USI) +DEF_FUNCTION_TYPE (V2DI, PCV2DI, V2DI) +DEF_FUNCTION_TYPE (V2SF, V2SF, V2SF) +DEF_FUNCTION_TYPE (V2SI, INT, INT) +DEF_FUNCTION_TYPE (V2SI, V2SF, V2SF) +DEF_FUNCTION_TYPE (V2SI, V2SI, SI) +DEF_FUNCTION_TYPE (V2SI, V2SI, V2SI) +DEF_FUNCTION_TYPE (V2SI, V4HI, V4HI) +DEF_FUNCTION_TYPE (V4DF, PCV4DF, V4DI) +DEF_FUNCTION_TYPE (V4DF, V4DF, INT) +DEF_FUNCTION_TYPE (V4DF, V8DF, INT) +DEF_FUNCTION_TYPE (V4DF, V8DF, INT, V4DF, QI) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI) +DEF_FUNCTION_TYPE (V4HI, V2SI, V2SI) +DEF_FUNCTION_TYPE (V4HI, V4HI, INT) +DEF_FUNCTION_TYPE (V4HI, V4HI, SI) +DEF_FUNCTION_TYPE (V4HI, V4HI, V4HI) +DEF_FUNCTION_TYPE (V4HI, V8QI, V8QI) +DEF_FUNCTION_TYPE (V4SF, PCV4SF, V4SI) +DEF_FUNCTION_TYPE (V4SF, V4SF, UINT) +DEF_FUNCTION_TYPE (V4SF, V4SF, UINT64) +DEF_FUNCTION_TYPE (V4SF, V4SF, DI) +DEF_FUNCTION_TYPE (V4SF, V4SF, INT) +DEF_FUNCTION_TYPE (INT, V4SF, V4SF, INT, INT) +DEF_FUNCTION_TYPE (INT, V2DF, V2DF, INT, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, PCV2SF) +DEF_FUNCTION_TYPE (V4SF, V4SF, SI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF) +DEF_FUNCTION_TYPE (V4SF, V4SF, V2SI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SI) +DEF_FUNCTION_TYPE (V4SF, V8SF, INT) +DEF_FUNCTION_TYPE (V4SI, V2DF, V2DF) +DEF_FUNCTION_TYPE (V4SI, V4SF, V4SF) +DEF_FUNCTION_TYPE (V4SI, V4SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, SI) +DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI) +DEF_FUNCTION_TYPE (V4SI, V8HI, V8HI) +DEF_FUNCTION_TYPE (V4SI, V8SI, INT) +DEF_FUNCTION_TYPE (V4SI, PCV4SI, V4SI) +DEF_FUNCTION_TYPE (V8HI, V16QI, V16QI) +DEF_FUNCTION_TYPE (V8HI, V4SI, V4SI) +DEF_FUNCTION_TYPE (V8HI, V8HI, INT) +DEF_FUNCTION_TYPE (V8HI, V8HI, SI) +DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI) +DEF_FUNCTION_TYPE (V8HI, V8SF, INT) +DEF_FUNCTION_TYPE (V8HI, V4SF, INT) +DEF_FUNCTION_TYPE (V8QI, V4HI, V4HI) +DEF_FUNCTION_TYPE (V8QI, V8QI, V8QI) +DEF_FUNCTION_TYPE (V8SF, PCV8SF, V8SI) +DEF_FUNCTION_TYPE (V8SF, V8SF, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, INT) +DEF_FUNCTION_TYPE (V4SF, V16SF, INT) +DEF_FUNCTION_TYPE (V4SF, V16SF, INT, V4SF, QI) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI) +DEF_FUNCTION_TYPE (V32QI, V16HI, V16HI) +DEF_FUNCTION_TYPE (V16HI, V8SI, V8SI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V4DF, INT, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, INT, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8DF, INT, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DI, INT, QI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, INT, V16SF, HI) +DEF_FUNCTION_TYPE (V16SF, V16SF, INT, V16SF, HI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, INT, V16SI, HI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT, HI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SI, INT, HI, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT, QI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT, QI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT, QI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT, QI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V4SF, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V4SF, INT, V16SF, HI) +DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI) +DEF_FUNCTION_TYPE (V16HI, V32QI, V32QI) +DEF_FUNCTION_TYPE (V16HI, V16HI, V8HI) +DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI) +DEF_FUNCTION_TYPE (V16HI, V16HI, INT) +DEF_FUNCTION_TYPE (V16HI, V16SF, INT) +DEF_FUNCTION_TYPE (V16HI, V16SF, INT, V16HI, HI) +DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, INT, V16HI, HI) +DEF_FUNCTION_TYPE (V16HI, V16HI, SI) +DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, INT) +DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, INT) +DEF_FUNCTION_TYPE (V8SI, V4DF, V4DF) +DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, INT) +DEF_FUNCTION_TYPE (V4SI, V16SI, INT) +DEF_FUNCTION_TYPE (V4SI, V16SI, INT, V4SI, QI) +DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, INT, V16SI, HI) +DEF_FUNCTION_TYPE (V8SI, V16HI, V16HI) +DEF_FUNCTION_TYPE (V8SI, V8SI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, SI) +DEF_FUNCTION_TYPE (V16SI, V16SI, INT) +DEF_FUNCTION_TYPE (V16SI, V16SI, V4SI, V16SI, HI) +DEF_FUNCTION_TYPE (V16SI, V16SI, INT, V16SI, HI) +DEF_FUNCTION_TYPE (V8SI, PCV8SI, V8SI) +DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI) +DEF_FUNCTION_TYPE (V16SI, V8DF, V8DF) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, INT, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V4DI, INT, V8DI, QI) +DEF_FUNCTION_TYPE (V4DI, V8SI, V8SI) +DEF_FUNCTION_TYPE (V4UDI, V8USI, V8USI) +DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V2DI) +DEF_FUNCTION_TYPE (V4DI, PCV4DI, V4DI) +DEF_FUNCTION_TYPE (V4DI, V8DI, INT) +DEF_FUNCTION_TYPE (V4DI, V8DI, INT, V4DI, QI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V2DI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V8DI, INT, V8DI, QI) +DEF_FUNCTION_TYPE (V4DI, V4DI, INT) +DEF_FUNCTION_TYPE (V2DI, V4DI, INT) +DEF_FUNCTION_TYPE (VOID, PVOID, INT64) +DEF_FUNCTION_TYPE (VOID, PCHAR, V16QI) +DEF_FUNCTION_TYPE (VOID, PCHAR, V32QI) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, V2DF) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, V4DF) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, V8DF) +DEF_FUNCTION_TYPE (VOID, PFLOAT, V4SF) +DEF_FUNCTION_TYPE (VOID, PFLOAT, V8SF) +DEF_FUNCTION_TYPE (VOID, PFLOAT, V16SF) +DEF_FUNCTION_TYPE (VOID, PINT, INT) +DEF_FUNCTION_TYPE (VOID, PLONGLONG, LONGLONG) +DEF_FUNCTION_TYPE (VOID, PULONGLONG, ULONGLONG) +DEF_FUNCTION_TYPE (VOID, PV2SI, V2SI) +DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI) +DEF_FUNCTION_TYPE (VOID, PV2SF, V4SF) +DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI) +DEF_FUNCTION_TYPE (VOID, PV4SF, V4SF) +DEF_FUNCTION_TYPE (VOID, PV8SF, V8SF) +DEF_FUNCTION_TYPE (VOID, UNSIGNED, UNSIGNED) +DEF_FUNCTION_TYPE (VOID, PV8DI, V8DI) + +# Instructions returning mask +DEF_FUNCTION_TYPE (HI, HI) +DEF_FUNCTION_TYPE (HI, HI, HI) +DEF_FUNCTION_TYPE (HI, HI, INT) +DEF_FUNCTION_TYPE (QI, V8DI, V8DI) +DEF_FUNCTION_TYPE (QI, V8DI, V8DI, QI) +DEF_FUNCTION_TYPE (HI, V16SI, V16SI) +DEF_FUNCTION_TYPE (HI, V16SI, V16SI, HI) +DEF_FUNCTION_TYPE (QI, V8DI, V8DI, INT) +DEF_FUNCTION_TYPE (QI, V8DI, V8DI, INT, QI) +DEF_FUNCTION_TYPE (HI, V16SI, V16SI, INT) +DEF_FUNCTION_TYPE (HI, V16SI, V16SI, INT ,HI) +DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT) +DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT, QI) +DEF_FUNCTION_TYPE (QI, V8DF, V8DF, INT, QI, INT) +DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT) +DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT, HI) +DEF_FUNCTION_TYPE (HI, V16SF, V16SF, INT, HI, INT) +DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT) +DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT, QI) +DEF_FUNCTION_TYPE (QI, V2DF, V2DF, INT, QI, INT) +DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT) +DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI) +DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI, INT) +DEF_FUNCTION_TYPE (V16SI, HI) +DEF_FUNCTION_TYPE (V8DI, QI) + +DEF_FUNCTION_TYPE (INT, V16QI, V16QI, INT) +DEF_FUNCTION_TYPE (UCHAR, UINT, UINT, UINT) +DEF_FUNCTION_TYPE (UCHAR, UINT64, UINT, UINT) +DEF_FUNCTION_TYPE (V16HI, V16HI, V16HI, V16HI) +DEF_FUNCTION_TYPE (V16QI, V16QI, QI, INT) +DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, INT) +DEF_FUNCTION_TYPE (V16QI, V16QI, V16QI, V16QI) +DEF_FUNCTION_TYPE (V1DI, V1DI, V1DI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, DI, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, UINT, UINT) +DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, V2DI) +DEF_FUNCTION_TYPE (V32QI, V32QI, V32QI, V32QI) +DEF_FUNCTION_TYPE (V4DF, V4DF, V2DF, INT) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, INT) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DF) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI, INT) +DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, V4DI) +DEF_FUNCTION_TYPE (V4HI, V4HI, HI, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, FLOAT, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V2DI) +DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI) +DEF_FUNCTION_TYPE (V8HI, V8HI, HI, INT) +DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, INT) +DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V4SI) +DEF_FUNCTION_TYPE (V8HI, V8HI, V8HI, V8HI) +DEF_FUNCTION_TYPE (V8SF, V8SF, V4SF, INT) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, INT) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SF) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF) +DEF_FUNCTION_TYPE (V8SI, V8SI, V4SI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, V8SI, V8SI) +DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, INT) +DEF_FUNCTION_TYPE (V4DI, V4DI, V2DI, INT) + +# Instructions with masking +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8SF, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8SI, V8DF, QI) +DEF_FUNCTION_TYPE (V8DI, V8SI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V8HI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V16QI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DF, V8DI, V8DF, V8DF) +DEF_FUNCTION_TYPE (V8DF, V8DI, V8DF, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF, QI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI, HI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, QI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, V2DF, QI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, HI) +DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, HI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF, HI) +DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, V16SF) +DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, V16SF, HI) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI, V16SF, HI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, V4SF, QI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, QI) +DEF_FUNCTION_TYPE (V16SF, V4SF, V16SF, HI) +DEF_FUNCTION_TYPE (V8DF, V4DF, V8DF, QI) +DEF_FUNCTION_TYPE (V8DF, V2DF, V8DF, QI) +DEF_FUNCTION_TYPE (V16SI, V4SI, V16SI, HI) +DEF_FUNCTION_TYPE (V16SI, SI, V16SI, HI) +DEF_FUNCTION_TYPE (V16SI, V16HI, V16SI, HI) +DEF_FUNCTION_TYPE (V16SI, V16QI, V16SI, HI) +DEF_FUNCTION_TYPE (V8SI, V8DF, V8SI, QI) +DEF_FUNCTION_TYPE (V8DI, V4DI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, V2DI, V8DI, QI) +DEF_FUNCTION_TYPE (V8DI, DI, V8DI, QI) +DEF_FUNCTION_TYPE (V16SF, PCV16SF, V16SF, HI) +DEF_FUNCTION_TYPE (V8DF, PCV8DF, V8DF, QI) +DEF_FUNCTION_TYPE (V16SI, PCV16SI, V16SI, HI) +DEF_FUNCTION_TYPE (V8DI, PCV8DI, V8DI, QI) +DEF_FUNCTION_TYPE (V2DF, PCDOUBLE, V2DF, QI) +DEF_FUNCTION_TYPE (V4SF, PCFLOAT, V4SF, QI) +DEF_FUNCTION_TYPE (V16QI, V16SI, V16QI, HI) +DEF_FUNCTION_TYPE (V16HI, V16SI, V16HI, HI) +DEF_FUNCTION_TYPE (V8SI, V8DI, V8SI, QI) +DEF_FUNCTION_TYPE (V8HI, V8DI, V8HI, QI) +DEF_FUNCTION_TYPE (V16QI, V8DI, V16QI, QI) +DEF_FUNCTION_TYPE (VOID, PV8DF, V8DF, QI) +DEF_FUNCTION_TYPE (VOID, PV8SI, V8DI, QI) +DEF_FUNCTION_TYPE (VOID, PV8HI, V8DI, QI) +DEF_FUNCTION_TYPE (VOID, PV16SF, V16SF, HI) +DEF_FUNCTION_TYPE (VOID, PV8DI, V8DI, QI) +DEF_FUNCTION_TYPE (VOID, PV16SI, V16SI, HI) +DEF_FUNCTION_TYPE (VOID, PV16HI, V16SI, HI) +DEF_FUNCTION_TYPE (VOID, PV16QI, V16SI, HI) +DEF_FUNCTION_TYPE (VOID, PV16QI, V8DI, QI) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, V2DF, QI) +DEF_FUNCTION_TYPE (VOID, PFLOAT, V4SF, QI) +DEF_FUNCTION_TYPE (V16SI, V16SF, V16SI, HI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI, INT, QI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI, INT, HI) + +DEF_FUNCTION_TYPE (VOID, PCVOID, UNSIGNED, UNSIGNED) +DEF_FUNCTION_TYPE (VOID, PV2DF, V2DI, V2DF) +DEF_FUNCTION_TYPE (VOID, PV4DF, V4DI, V4DF) +DEF_FUNCTION_TYPE (VOID, PV4SF, V4SI, V4SF) +DEF_FUNCTION_TYPE (VOID, PV8SF, V8SI, V8SF) +DEF_FUNCTION_TYPE (VOID, PV2DI, V2DI, V2DI) +DEF_FUNCTION_TYPE (VOID, PV4DI, V4DI, V4DI) +DEF_FUNCTION_TYPE (VOID, PV4SI, V4SI, V4SI) +DEF_FUNCTION_TYPE (VOID, PV8SI, V8SI, V8SI) +DEF_FUNCTION_TYPE (VOID, UINT, UINT, UINT) +DEF_FUNCTION_TYPE (VOID, UINT64, UINT, UINT) +DEF_FUNCTION_TYPE (VOID, V16QI, V16QI, PCHAR) +DEF_FUNCTION_TYPE (VOID, V8QI, V8QI, PCHAR) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DI) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SI) +DEF_FUNCTION_TYPE (V2UDI, V2UDI, V2UDI, V2UDI) +DEF_FUNCTION_TYPE (V4USI, V4USI, V4USI, V4USI) +DEF_FUNCTION_TYPE (V8UHI, V8UHI, V8UHI, V8UHI) +DEF_FUNCTION_TYPE (V16UQI, V16UQI, V16UQI, V16UQI) +DEF_FUNCTION_TYPE (V4DF, V4DF, V4DF, V4DI) +DEF_FUNCTION_TYPE (V8SF, V8SF, V8SF, V8SI) +DEF_FUNCTION_TYPE (V8DI, V8DI, V8DI, V8DI) +DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI, V16SI) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DI, V8DF) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SI, V16SF) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, V4SF, QI) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, V2DF, QI) +DEF_FUNCTION_TYPE (V8DI, V16SI, V16SI, V8DI, QI) + +DEF_FUNCTION_TYPE (V2DI, V2DI, V2DI, UINT, UINT) +DEF_FUNCTION_TYPE (V4HI, HI, HI, HI, HI) + +DEF_FUNCTION_TYPE (INT, V16QI, INT, V16QI, INT, INT) +DEF_FUNCTION_TYPE (V16QI, V16QI, INT, V16QI, INT, INT) + +DEF_FUNCTION_TYPE (V8QI, QI, QI, QI, QI, QI, QI, QI, QI) + +DEF_FUNCTION_TYPE (UCHAR, UCHAR, UINT, UINT, PUNSIGNED) +DEF_FUNCTION_TYPE (UCHAR, UCHAR, ULONGLONG, ULONGLONG, PULONGLONG) + +# Instructions with rounding +DEF_FUNCTION_TYPE (UINT64, V2DF, INT) +DEF_FUNCTION_TYPE (UINT64, V4SF, INT) +DEF_FUNCTION_TYPE (UINT, V2DF, INT) +DEF_FUNCTION_TYPE (UINT, V4SF, INT) +DEF_FUNCTION_TYPE (INT64, V2DF, INT) +DEF_FUNCTION_TYPE (INT64, V4SF, INT) +DEF_FUNCTION_TYPE (INT, V2DF, INT) +DEF_FUNCTION_TYPE (INT, V4SF, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, UINT64, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, UINT64, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, UINT, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, INT64, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, INT64, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, INT, INT) +DEF_FUNCTION_TYPE (V16SI, V16SF, V16SI, HI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SI, V16SF, HI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, HI, INT) +DEF_FUNCTION_TYPE (V16SF, V16HI, V16SF, HI, INT) +DEF_FUNCTION_TYPE (V8SI, V8DF, V8SI, QI, INT) +DEF_FUNCTION_TYPE (V8SF, V8DF, V8SF, QI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, QI, INT) +DEF_FUNCTION_TYPE (V8DF, V8SF, V8DF, QI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, V16SF, V16SF, HI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, V8DF, V8DF, QI, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, QI, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V2DF, V4SF, QI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, QI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V4SF, V2DF, QI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, V2DF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, V4SF, INT) + +DEF_FUNCTION_TYPE (V16SF, V16SF, INT, V16SF, HI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, INT, V8DF, QI, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, V4SF, INT, V4SF, QI, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, V2DF, INT, V2DF, QI, INT) +DEF_FUNCTION_TYPE (V8DI, V8DI, SI, V8DI, V8DI) + +DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V4SI, V2DF, INT) +DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4SI, V4DF, INT) +DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V8SI, V4DF, INT) +DEF_FUNCTION_TYPE (V2DF, V2DF, PCDOUBLE, V2DI, V2DF, INT) +DEF_FUNCTION_TYPE (V4DF, V4DF, PCDOUBLE, V4DI, V4DF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4SI, V4SF, INT) +DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V8SI, V8SF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V2DI, V4SF, INT) +DEF_FUNCTION_TYPE (V4SF, V4SF, PCFLOAT, V4DI, V4SF, INT) +DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V4DI, V8SF, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V4SI, V2DI, INT) +DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4SI, V4DI, INT) +DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V8SI, V4DI, INT) +DEF_FUNCTION_TYPE (V2DI, V2DI, PCINT64, V2DI, V2DI, INT) +DEF_FUNCTION_TYPE (V4DI, V4DI, PCINT64, V4DI, V4DI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4SI, V4SI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V8SI, V8SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V2DI, V4SI, INT) +DEF_FUNCTION_TYPE (V4SI, V4SI, PCINT, V4DI, V4SI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V4DI, V8SI, INT) + +DEF_FUNCTION_TYPE (V16SF, V16SF, PCFLOAT, V16SI, HI, INT) +DEF_FUNCTION_TYPE (V16SF, V16SF, PCFLOAT, V8DI, HI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V8SI, QI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V16SI, QI, INT) +DEF_FUNCTION_TYPE (V8SF, V8SF, PCFLOAT, V8DI, QI, INT) +DEF_FUNCTION_TYPE (V8DF, V8DF, PCDOUBLE, V8DI, QI, INT) +DEF_FUNCTION_TYPE (V16SI, V16SI, PCINT, V16SI, HI, INT) +DEF_FUNCTION_TYPE (V16SI, V16SI, PCINT, V8DI, HI, INT) +DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V8SI, QI, INT) +DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V16SI, QI, INT) +DEF_FUNCTION_TYPE (V8SI, V8SI, PCINT, V8DI, QI, INT) +DEF_FUNCTION_TYPE (V8DI, V8DI, PCINT64, V8DI, QI, INT) +DEF_FUNCTION_TYPE (VOID, PFLOAT, HI, V16SI, V16SF, INT) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, QI, V8SI, V8DF, INT) +DEF_FUNCTION_TYPE (VOID, PFLOAT, QI, V8DI, V8SF, INT) +DEF_FUNCTION_TYPE (VOID, PDOUBLE, QI, V8DI, V8DF, INT) +DEF_FUNCTION_TYPE (VOID, PINT, HI, V16SI, V16SI, INT) +DEF_FUNCTION_TYPE (VOID, PLONGLONG, QI, V8SI, V8DI, INT) +DEF_FUNCTION_TYPE (VOID, PINT, QI, V8DI, V8SI, INT) +DEF_FUNCTION_TYPE (VOID, PLONGLONG, QI, V8DI, V8DI, INT) + +DEF_FUNCTION_TYPE (VOID, QI, V8SI, PCINT64, INT, INT) +DEF_FUNCTION_TYPE (VOID, HI, V16SI, PCINT, INT, INT) +DEF_FUNCTION_TYPE (VOID, QI, V8DI, PCINT64, INT, INT) +DEF_FUNCTION_TYPE (VOID, QI, V8DI, PCINT, INT, INT) + +DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V4DF_FTYPE_V4DF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V8SF_FTYPE_V8SF, ROUND) + +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V2DF_V2DF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V4DF_V4DF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V16SI_FTYPE_V8DF_V8DF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SF, ROUND) +DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SF, ROUND) + +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DF_V2DF, PTEST) +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V2DI_V2DI, PTEST) +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DF_V4DF, PTEST) +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4DI_V4DI, PTEST) +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V4SF_V4SF, PTEST) +DEF_FUNCTION_TYPE_ALIAS (INT_FTYPE_V8SF_V8SF, PTEST) + +DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF, VEC_MERGE) +DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF, VEC_MERGE) + +DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V2SI_FTYPE_V2SI_V2SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4HI_FTYPE_V4HI_V4HI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V16HI_FTYPE_V16HI_V8HI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V8SI_FTYPE_V8SI_V4SI, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, COUNT) +DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V2DI, COUNT) + +DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, SWAP) +DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, SWAP) + +DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_INT, CONVERT) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_INT, CONVERT) +DEF_FUNCTION_TYPE_ALIAS (V4DI_FTYPE_V4DI_V4DI_INT, CONVERT) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI_INT, CONVERT) +DEF_FUNCTION_TYPE_ALIAS (V1DI_FTYPE_V1DI_V1DI_INT, CONVERT) + +DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, CMP) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, CMP) +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, CMP) +DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, CMP) + +DEF_FUNCTION_TYPE_ALIAS (V16QI_FTYPE_V16QI_V16QI, TF) +DEF_FUNCTION_TYPE_ALIAS (V2DF_FTYPE_V2DF_V2DF, TF) +DEF_FUNCTION_TYPE_ALIAS (V2DI_FTYPE_V2DI_V2DI, TF) +DEF_FUNCTION_TYPE_ALIAS (V4SF_FTYPE_V4SF_V4SF, TF) +DEF_FUNCTION_TYPE_ALIAS (V4SI_FTYPE_V4SI_V4SI, TF) +DEF_FUNCTION_TYPE_ALIAS (V8HI_FTYPE_V8HI_V8HI, TF) -- cgit v1.2.3