Skip to content

Instantly share code, notes, and snippets.

@kito-cheng
Created October 12, 2021 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kito-cheng/46616c82c0f25e5df31ff5eaa14914ba to your computer and use it in GitHub Desktop.
Save kito-cheng/46616c82c0f25e5df31ff5eaa14914ba to your computer and use it in GitHub Desktop.
OpenCLBuiltins.inc
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* OpenCL Builtin handling *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#include "llvm/ADT/StringRef.h"
using namespace clang;
enum OpenCLTypeID {
OCLT_atomic_double,
OCLT_atomic_flag,
OCLT_atomic_float,
OCLT_atomic_int,
OCLT_atomic_intptr_t,
OCLT_atomic_long,
OCLT_atomic_ptrdiff_t,
OCLT_atomic_size_t,
OCLT_atomic_uint,
OCLT_atomic_uintptr_t,
OCLT_atomic_ulong,
OCLT_bool,
OCLT_char,
OCLT_clk_event_t,
OCLT_clk_profiling_info,
OCLT_double,
OCLT_event_t,
OCLT_float,
OCLT_half,
OCLT_image1d_t,
OCLT_image1d_array_t,
OCLT_image1d_buffer_t,
OCLT_image2d_t,
OCLT_image2d_array_t,
OCLT_image2d_array_depth_t,
OCLT_image2d_array_msaa_t,
OCLT_image2d_array_msaa_depth_t,
OCLT_image2d_depth_t,
OCLT_image2d_msaa_t,
OCLT_image2d_msaa_depth_t,
OCLT_image3d_t,
OCLT_int,
OCLT_intptr_t,
OCLT_long,
OCLT_cl_mem_fence_flags,
OCLT_memory_order,
OCLT_memory_scope,
OCLT_ndrange_t,
OCLT_ptrdiff_t,
OCLT_queue_t,
OCLT_reserve_id_t,
OCLT_sampler_t,
OCLT_short,
OCLT_size_t,
OCLT_uchar,
OCLT_uint,
OCLT_uintptr_t,
OCLT_ulong,
OCLT_ushort,
OCLT_void,
OCLT_AGenType1,
OCLT_AGenTypeN,
OCLT_AGenTypeNNoScalar,
OCLT_AI2UGenTypeN,
OCLT_AIGenType1,
OCLT_AIGenTypeN,
OCLT_AIGenTypeNNoScalar,
OCLT_CharShortGenType1,
OCLT_FGenTypeN,
OCLT_GenTypeCharVecAndScalar,
OCLT_GenTypeCharVecNoScalar,
OCLT_GenTypeDoubleVec1234,
OCLT_GenTypeDoubleVecAndScalar,
OCLT_GenTypeDoubleVecNoScalar,
OCLT_GenTypeFloatVec1234,
OCLT_GenTypeFloatVecAndScalar,
OCLT_GenTypeFloatVecNoScalar,
OCLT_GenTypeHalfVec1234,
OCLT_GenTypeHalfVecAndScalar,
OCLT_GenTypeHalfVecNoScalar,
OCLT_GenTypeIntVecAndScalar,
OCLT_GenTypeIntVecNoScalar,
OCLT_GenTypeLongVecAndScalar,
OCLT_GenTypeLongVecNoScalar,
OCLT_GenTypeShortVecAndScalar,
OCLT_GenTypeShortVecNoScalar,
OCLT_GenTypeUCharVecAndScalar,
OCLT_GenTypeUCharVecNoScalar,
OCLT_GenTypeUIntVecAndScalar,
OCLT_GenTypeUIntVecNoScalar,
OCLT_GenTypeULongVecAndScalar,
OCLT_GenTypeULongVecNoScalar,
OCLT_GenTypeUShortVecAndScalar,
OCLT_GenTypeUShortVecNoScalar,
OCLT_IntLongFloatGenType1,
OCLT_SGenTypeN,
OCLT_UGenTypeN,
};
// Image access qualifier.
enum OpenCLAccessQual : unsigned char {
OCLAQ_None,
OCLAQ_ReadOnly,
OCLAQ_WriteOnly,
OCLAQ_ReadWrite
};
// Represents a return type or argument type.
struct OpenCLTypeStruct {
// A type (e.g. float, int, ...).
const OpenCLTypeID ID;
// Vector size (if applicable; 0 for scalars and generic types).
const unsigned VectorWidth;
// 0 if the type is not a pointer.
const bool IsPointer : 1;
// 0 if the type is not const.
const bool IsConst : 1;
// 0 if the type is not volatile.
const bool IsVolatile : 1;
// Access qualifier.
const OpenCLAccessQual AccessQualifier;
// Address space of the pointer (if applicable).
const LangAS AS;
};
// One overload of an OpenCL builtin function.
struct OpenCLBuiltinStruct {
// Index of the signature in the OpenCLTypeStruct table.
const unsigned SigTableIndex;
// Entries between index SigTableIndex and (SigTableIndex + NumTypes - 1) in
// the SignatureTable represent the complete signature. The first type at
// index SigTableIndex is the return type.
const unsigned NumTypes;
// Function attribute __attribute__((pure))
const bool IsPure : 1;
// Function attribute __attribute__((const))
const bool IsConst : 1;
// Function attribute __attribute__((convergent))
const bool IsConv : 1;
// OpenCL extension(s) required for this overload.
const unsigned short Extension;
// OpenCL versions in which this overload is available.
const unsigned short Versions;
};
static const char *FunctionExtensionTable[] = {
// 0: ArmIntegerDotProductAccumulateInt16
"cl_arm_integer_dot_product_accumulate_int16",
// 1: ArmIntegerDotProductAccumulateInt8
"cl_arm_integer_dot_product_accumulate_int8",
// 2: ArmIntegerDotProductAccumulateSaturateInt8
"cl_arm_integer_dot_product_accumulate_saturate_int8",
// 3: ArmIntegerDotProductInt8
"cl_arm_integer_dot_product_int8",
// 4: FuncExtKhrExtendedBitOps
"cl_khr_extended_bit_ops",
// 5: FuncExtKhrGlMsaaSharing
"cl_khr_gl_msaa_sharing",
// 6: FuncExtKhrGlobalInt32BaseAtomics
"cl_khr_global_int32_base_atomics",
// 7: FuncExtKhrGlobalInt32ExtendedAtomics
"cl_khr_global_int32_extended_atomics",
// 8: FuncExtKhrInt64BaseAtomics
"cl_khr_int64_base_atomics",
// 9: FuncExtKhrInt64ExtendedAtomics
"cl_khr_int64_extended_atomics",
// 10: FuncExtKhrLocalInt32BaseAtomics
"cl_khr_local_int32_base_atomics",
// 11: FuncExtKhrLocalInt32ExtendedAtomics
"cl_khr_local_int32_extended_atomics",
// 12: FuncExtKhrMipmapImage
"cl_khr_mipmap_image",
// 13: FuncExtKhrMipmapImageWrites
"cl_khr_mipmap_image_writes",
// 14: FuncExtKhrMipmapWritesAndWrite3d
"cl_khr_mipmap_image_writes cl_khr_3d_image_writes",
// 15: FuncExtKhrSubgroupBallot
"cl_khr_subgroup_ballot",
// 16: FuncExtKhrSubgroupClusteredReduce
"cl_khr_subgroup_clustered_reduce",
// 17: FuncExtKhrSubgroupExtendedTypes
"cl_khr_subgroup_extended_types",
// 18: FuncExtKhrSubgroupNonUniformArithmetic
"cl_khr_subgroup_non_uniform_arithmetic",
// 19: FuncExtKhrSubgroupNonUniformVote
"cl_khr_subgroup_non_uniform_vote",
// 20: FuncExtKhrSubgroupShuffle
"cl_khr_subgroup_shuffle",
// 21: FuncExtKhrSubgroupShuffleRelative
"cl_khr_subgroup_shuffle_relative",
// 22: FuncExtKhrSubgroups
"cl_khr_subgroups",
// 23: FuncExtNone
"",
// 24: FuncExtOpenCLCPipes
"__opencl_c_pipes",
// 25: FuncExtOpenCLCWGCollectiveFunctions
"__opencl_c_work_group_collective_functions",
// 26: FuncExtOpenCLCxx
"__cplusplus",
// 27: anonymous_9271
"__opencl_c_integer_dot_product_input_4x8bit",
// 28: anonymous_9280
"__opencl_c_integer_dot_product_input_4x8bit_packed",
};
static const OpenCLTypeStruct TypeTable[] = {
// 0
{OCLT_AGenType1, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 1
{OCLT_AGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 2
{OCLT_AGenTypeNNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 3
{OCLT_AI2UGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 4
{OCLT_AIGenType1, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 5
{OCLT_AIGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 6
{OCLT_AIGenTypeNNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 7
{OCLT_atomic_double, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 8
{OCLT_atomic_flag, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 9
{OCLT_atomic_float, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 10
{OCLT_atomic_int, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 11
{OCLT_atomic_intptr_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 12
{OCLT_atomic_long, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 13
{OCLT_atomic_ptrdiff_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 14
{OCLT_atomic_size_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 15
{OCLT_atomic_uint, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 16
{OCLT_atomic_uintptr_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 17
{OCLT_atomic_ulong, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 18
{OCLT_bool, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 19
{OCLT_char, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 20
{OCLT_CharShortGenType1, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 21
{OCLT_clk_event_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 22
{OCLT_clk_profiling_info, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 23
{OCLT_double, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 24
{OCLT_event_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 25
{OCLT_FGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 26
{OCLT_float, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 27
{OCLT_GenTypeCharVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 28
{OCLT_GenTypeCharVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 29
{OCLT_GenTypeDoubleVec1234, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 30
{OCLT_GenTypeDoubleVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 31
{OCLT_GenTypeDoubleVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 32
{OCLT_GenTypeFloatVec1234, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 33
{OCLT_GenTypeFloatVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 34
{OCLT_GenTypeFloatVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 35
{OCLT_GenTypeHalfVec1234, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 36
{OCLT_GenTypeHalfVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 37
{OCLT_GenTypeHalfVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 38
{OCLT_GenTypeIntVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 39
{OCLT_GenTypeIntVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 40
{OCLT_GenTypeLongVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 41
{OCLT_GenTypeLongVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 42
{OCLT_GenTypeShortVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 43
{OCLT_GenTypeShortVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 44
{OCLT_GenTypeUCharVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 45
{OCLT_GenTypeUCharVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 46
{OCLT_GenTypeUIntVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 47
{OCLT_GenTypeUIntVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 48
{OCLT_GenTypeULongVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 49
{OCLT_GenTypeULongVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 50
{OCLT_GenTypeUShortVecAndScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 51
{OCLT_GenTypeUShortVecNoScalar, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 52
{OCLT_half, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 53
{OCLT_image1d_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 54
{OCLT_image1d_array_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 55
{OCLT_image1d_buffer_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 56
{OCLT_image2d_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 57
{OCLT_image2d_array_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 58
{OCLT_image2d_array_depth_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 59
{OCLT_image2d_array_msaa_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 60
{OCLT_image2d_array_msaa_depth_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 61
{OCLT_image2d_depth_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 62
{OCLT_image2d_msaa_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 63
{OCLT_image2d_msaa_depth_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 64
{OCLT_image3d_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 65
{OCLT_int, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 66
{OCLT_IntLongFloatGenType1, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 67
{OCLT_intptr_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 68
{OCLT_long, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 69
{OCLT_cl_mem_fence_flags, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 70
{OCLT_memory_order, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 71
{OCLT_memory_scope, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 72
{OCLT_ndrange_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 73
{OCLT_ptrdiff_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 74
{OCLT_queue_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 75
{OCLT_reserve_id_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 76
{OCLT_SGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 77
{OCLT_sampler_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 78
{OCLT_short, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 79
{OCLT_size_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 80
{OCLT_uchar, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 81
{OCLT_UGenTypeN, 0, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 82
{OCLT_uint, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 83
{OCLT_uintptr_t, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 84
{OCLT_ulong, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 85
{OCLT_ushort, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 86
{OCLT_void, 1, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 87
{OCLT_double, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 88
{OCLT_double, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 89
{OCLT_double, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 90
{OCLT_double, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 91
{OCLT_half, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 92
{OCLT_half, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 93
{OCLT_half, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 94
{OCLT_half, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 95
{OCLT_half, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 96
{OCLT_char, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 97
{OCLT_char, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 98
{OCLT_char, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 99
{OCLT_char, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 100
{OCLT_char, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 101
{OCLT_uchar, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 102
{OCLT_uchar, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 103
{OCLT_uchar, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 104
{OCLT_uchar, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 105
{OCLT_uchar, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 106
{OCLT_short, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 107
{OCLT_short, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 108
{OCLT_short, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 109
{OCLT_short, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 110
{OCLT_short, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 111
{OCLT_ushort, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 112
{OCLT_ushort, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 113
{OCLT_ushort, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 114
{OCLT_ushort, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 115
{OCLT_ushort, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 116
{OCLT_int, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 117
{OCLT_int, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 118
{OCLT_int, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 119
{OCLT_int, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 120
{OCLT_int, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 121
{OCLT_uint, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 122
{OCLT_uint, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 123
{OCLT_uint, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 124
{OCLT_uint, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 125
{OCLT_uint, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 126
{OCLT_long, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 127
{OCLT_long, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 128
{OCLT_long, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 129
{OCLT_long, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 130
{OCLT_long, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 131
{OCLT_ulong, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 132
{OCLT_ulong, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 133
{OCLT_ulong, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 134
{OCLT_ulong, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 135
{OCLT_ulong, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 136
{OCLT_FGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 137
{OCLT_GenTypeIntVecAndScalar, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 138
{OCLT_FGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 139
{OCLT_GenTypeIntVecAndScalar, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 140
{OCLT_FGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 141
{OCLT_GenTypeIntVecAndScalar, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 142
{OCLT_float, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 143
{OCLT_FGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 144
{OCLT_GenTypeIntVecAndScalar, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 145
{OCLT_float, 3, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 146
{OCLT_char, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 147
{OCLT_uchar, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 148
{OCLT_short, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 149
{OCLT_ushort, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 150
{OCLT_int, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 151
{OCLT_uint, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 152
{OCLT_long, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 153
{OCLT_ulong, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 154
{OCLT_float, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 155
{OCLT_double, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 156
{OCLT_half, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 157
{OCLT_char, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 158
{OCLT_uchar, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 159
{OCLT_short, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 160
{OCLT_ushort, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 161
{OCLT_int, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 162
{OCLT_uint, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 163
{OCLT_long, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 164
{OCLT_ulong, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 165
{OCLT_float, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 166
{OCLT_double, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 167
{OCLT_half, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 168
{OCLT_char, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 169
{OCLT_uchar, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 170
{OCLT_short, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 171
{OCLT_ushort, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 172
{OCLT_int, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 173
{OCLT_uint, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 174
{OCLT_long, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 175
{OCLT_ulong, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 176
{OCLT_float, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 177
{OCLT_double, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 178
{OCLT_half, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 179
{OCLT_char, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 180
{OCLT_uchar, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 181
{OCLT_short, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 182
{OCLT_ushort, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 183
{OCLT_int, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 184
{OCLT_uint, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 185
{OCLT_long, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 186
{OCLT_ulong, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 187
{OCLT_float, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 188
{OCLT_double, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 189
{OCLT_half, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 190
{OCLT_char, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 191
{OCLT_uchar, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 192
{OCLT_short, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 193
{OCLT_ushort, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 194
{OCLT_int, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 195
{OCLT_float, 4, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 196
{OCLT_uint, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 197
{OCLT_long, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 198
{OCLT_ulong, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 199
{OCLT_float, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 200
{OCLT_double, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 201
{OCLT_half, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 202
{OCLT_char, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 203
{OCLT_uchar, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 204
{OCLT_short, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 205
{OCLT_ushort, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 206
{OCLT_int, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 207
{OCLT_uint, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 208
{OCLT_long, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 209
{OCLT_ulong, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 210
{OCLT_float, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 211
{OCLT_double, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 212
{OCLT_half, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 213
{OCLT_char, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 214
{OCLT_uchar, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 215
{OCLT_short, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 216
{OCLT_ushort, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 217
{OCLT_int, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 218
{OCLT_uint, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 219
{OCLT_long, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 220
{OCLT_ulong, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 221
{OCLT_float, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 222
{OCLT_double, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 223
{OCLT_half, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 224
{OCLT_float, 8, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 225
{OCLT_float, 16, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
// 226
{OCLT_char, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 227
{OCLT_uchar, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 228
{OCLT_short, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 229
{OCLT_ushort, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 230
{OCLT_int, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 231
{OCLT_uint, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 232
{OCLT_long, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 233
{OCLT_ulong, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 234
{OCLT_float, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 235
{OCLT_double, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 236
{OCLT_half, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 237
{OCLT_char, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 238
{OCLT_uchar, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 239
{OCLT_short, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 240
{OCLT_ushort, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 241
{OCLT_int, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 242
{OCLT_uint, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 243
{OCLT_long, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 244
{OCLT_ulong, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 245
{OCLT_float, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 246
{OCLT_double, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 247
{OCLT_half, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 248
{OCLT_char, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 249
{OCLT_uchar, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 250
{OCLT_short, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 251
{OCLT_ushort, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 252
{OCLT_int, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 253
{OCLT_uint, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 254
{OCLT_long, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 255
{OCLT_ulong, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 256
{OCLT_float, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 257
{OCLT_double, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 258
{OCLT_half, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_constant},
// 259
{OCLT_void, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 260
{OCLT_void, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 261
{OCLT_void, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 262
{OCLT_AGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 263
{OCLT_AGenTypeN, 0, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 264
{OCLT_AGenTypeN, 0, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 265
{OCLT_AGenTypeN, 0, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 266
{OCLT_AGenTypeN, 0, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_local},
// 267
{OCLT_event_t, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 268
{OCLT_int, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 269
{OCLT_int, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_global},
// 270
{OCLT_uint, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 271
{OCLT_uint, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_global},
// 272
{OCLT_int, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_local},
// 273
{OCLT_uint, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_local},
// 274
{OCLT_long, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 275
{OCLT_long, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_global},
// 276
{OCLT_ulong, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 277
{OCLT_ulong, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_global},
// 278
{OCLT_long, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_local},
// 279
{OCLT_ulong, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_local},
// 280
{OCLT_float, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 281
{OCLT_float, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_global},
// 282
{OCLT_float, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_local},
// 283
{OCLT_int, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 284
{OCLT_uint, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 285
{OCLT_atomic_int, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 286
{OCLT_atomic_int, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 287
{OCLT_atomic_uint, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 288
{OCLT_atomic_uint, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 289
{OCLT_atomic_long, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 290
{OCLT_atomic_long, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 291
{OCLT_atomic_ulong, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 292
{OCLT_atomic_ulong, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 293
{OCLT_atomic_float, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 294
{OCLT_atomic_float, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 295
{OCLT_atomic_double, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 296
{OCLT_atomic_double, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 297
{OCLT_atomic_uintptr_t, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 298
{OCLT_atomic_uintptr_t, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 299
{OCLT_atomic_flag, 1, 0, 0, 1, OCLAQ_None, clang::LangAS::Default},
// 300
{OCLT_atomic_flag, 1, 1, 0, 1, OCLAQ_None, clang::LangAS::opencl_generic},
// 301
{OCLT_image1d_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 302
{OCLT_image2d_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 303
{OCLT_image1d_array_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 304
{OCLT_image3d_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 305
{OCLT_image2d_array_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 306
{OCLT_image2d_depth_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 307
{OCLT_image2d_array_depth_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 308
{OCLT_image1d_buffer_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 309
{OCLT_image2d_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 310
{OCLT_image1d_array_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 311
{OCLT_image3d_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 312
{OCLT_image2d_array_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 313
{OCLT_image1d_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 314
{OCLT_image1d_buffer_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 315
{OCLT_image2d_depth_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 316
{OCLT_image2d_array_depth_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 317
{OCLT_image2d_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 318
{OCLT_image2d_array_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 319
{OCLT_image1d_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 320
{OCLT_image1d_buffer_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 321
{OCLT_image1d_array_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 322
{OCLT_image3d_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 323
{OCLT_image2d_depth_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 324
{OCLT_image2d_array_depth_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 325
{OCLT_clk_event_t, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 326
{OCLT_clk_event_t, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 327
{OCLT_clk_event_t, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_generic},
// 328
{OCLT_void, 1, 1, 0, 0, OCLAQ_None, clang::LangAS::opencl_global},
// 329
{OCLT_size_t, 1, 0, 1, 0, OCLAQ_None, clang::LangAS::Default},
// 330
{OCLT_size_t, 1, 1, 1, 0, OCLAQ_None, clang::LangAS::opencl_private},
// 331
{OCLT_image2d_msaa_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 332
{OCLT_image2d_array_msaa_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 333
{OCLT_image2d_msaa_depth_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 334
{OCLT_image2d_array_msaa_depth_t, 0, 0, 0, 0, OCLAQ_ReadOnly, clang::LangAS::Default},
// 335
{OCLT_image2d_msaa_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 336
{OCLT_image2d_array_msaa_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 337
{OCLT_image2d_msaa_depth_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 338
{OCLT_image2d_array_msaa_depth_t, 0, 0, 0, 0, OCLAQ_ReadWrite, clang::LangAS::Default},
// 339
{OCLT_image2d_msaa_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 340
{OCLT_image2d_array_msaa_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 341
{OCLT_image2d_msaa_depth_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 342
{OCLT_image2d_array_msaa_depth_t, 0, 0, 0, 0, OCLAQ_WriteOnly, clang::LangAS::Default},
// 343
{OCLT_double, 2, 0, 0, 0, OCLAQ_None, clang::LangAS::Default},
};
static const unsigned short SignatureTable[] = {
// 0
142, 343,
// 2
52, 65,
// 4
91, 116,
// 6
92, 117,
// 8
93, 118,
// 10
94, 119,
// 12
95, 120,
// 14
52, 82,
// 16
91, 121,
// 18
145, 87,
// 20
92, 122,
// 22
93, 123,
// 24
94, 124,
// 26
95, 125,
// 28
195, 88,
// 30
52, 68,
// 32
91, 126,
// 34
92, 127,
// 36
93, 128,
// 38
94, 129,
// 40
95, 130,
// 42
224, 89,
// 44
52, 84,
// 46
91, 131,
// 48
225, 90,
// 50
92, 132,
// 52
93, 133,
// 54
94, 134,
// 56
95, 135,
// 58
26, 23,
// 60
19, 26,
// 62
96, 142,
// 64
97, 145,
// 66
98, 195,
// 68
99, 224,
// 70
100, 225,
// 72
19, 23,
// 74
96, 343,
// 76
97, 87,
// 78
98, 88,
// 80
99, 89,
// 82
100, 90,
// 84
19, 52,
// 86
96, 91,
// 88
97, 92,
// 90
98, 93,
// 92
99, 94,
// 94
100, 95,
// 96
19, 19,
// 98
96, 96,
// 100
97, 97,
// 102
98, 98,
// 104
99, 99,
// 106
100, 100,
// 108
26, 52,
// 110
19, 80,
// 112
96, 101,
// 114
142, 91,
// 116
97, 102,
// 118
98, 103,
// 120
99, 104,
// 122
100, 105,
// 124
145, 92,
// 126
195, 93,
// 128
19, 78,
// 130
96, 106,
// 132
224, 94,
// 134
97, 107,
// 136
98, 108,
// 138
99, 109,
// 140
100, 110,
// 142
225, 95,
// 144
19, 85,
// 146
96, 111,
// 148
97, 112,
// 150
98, 113,
// 152
99, 114,
// 154
100, 115,
// 156
19, 65,
// 158
96, 116,
// 160
97, 117,
// 162
98, 118,
// 164
99, 119,
// 166
100, 120,
// 168
19, 82,
// 170
96, 121,
// 172
97, 122,
// 174
98, 123,
// 176
99, 124,
// 178
100, 125,
// 180
19, 68,
// 182
96, 126,
// 184
97, 127,
// 186
98, 128,
// 188
99, 129,
// 190
100, 130,
// 192
26, 19,
// 194
142, 96,
// 196
19, 84,
// 198
96, 131,
// 200
97, 132,
// 202
98, 133,
// 204
99, 134,
// 206
100, 135,
// 208
145, 97,
// 210
195, 98,
// 212
224, 99,
// 214
80, 26,
// 216
101, 142,
// 218
102, 145,
// 220
103, 195,
// 222
104, 224,
// 224
105, 225,
// 226
225, 100,
// 228
80, 23,
// 230
101, 343,
// 232
102, 87,
// 234
103, 88,
// 236
104, 89,
// 238
105, 90,
// 240
80, 52,
// 242
101, 91,
// 244
102, 92,
// 246
103, 93,
// 248
104, 94,
// 250
105, 95,
// 252
80, 19,
// 254
101, 96,
// 256
102, 97,
// 258
103, 98,
// 260
104, 99,
// 262
105, 100,
// 264
80, 80,
// 266
101, 101,
// 268
102, 102,
// 270
103, 103,
// 272
104, 104,
// 274
105, 105,
// 276
26, 80,
// 278
142, 101,
// 280
80, 78,
// 282
101, 106,
// 284
145, 102,
// 286
102, 107,
// 288
103, 108,
// 290
104, 109,
// 292
105, 110,
// 294
195, 103,
// 296
224, 104,
// 298
80, 85,
// 300
101, 111,
// 302
225, 105,
// 304
102, 112,
// 306
103, 113,
// 308
104, 114,
// 310
105, 115,
// 312
80, 65,
// 314
101, 116,
// 316
102, 117,
// 318
103, 118,
// 320
104, 119,
// 322
105, 120,
// 324
80, 82,
// 326
101, 121,
// 328
102, 122,
// 330
103, 123,
// 332
104, 124,
// 334
105, 125,
// 336
80, 68,
// 338
101, 126,
// 340
102, 127,
// 342
103, 128,
// 344
104, 129,
// 346
105, 130,
// 348
80, 84,
// 350
101, 131,
// 352
102, 132,
// 354
103, 133,
// 356
104, 134,
// 358
105, 135,
// 360
26, 78,
// 362
142, 106,
// 364
145, 107,
// 366
78, 26,
// 368
106, 142,
// 370
107, 145,
// 372
108, 195,
// 374
109, 224,
// 376
110, 225,
// 378
195, 108,
// 380
224, 109,
// 382
225, 110,
// 384
78, 23,
// 386
106, 343,
// 388
107, 87,
// 390
108, 88,
// 392
109, 89,
// 394
110, 90,
// 396
78, 52,
// 398
106, 91,
// 400
107, 92,
// 402
108, 93,
// 404
109, 94,
// 406
110, 95,
// 408
78, 19,
// 410
106, 96,
// 412
107, 97,
// 414
108, 98,
// 416
109, 99,
// 418
110, 100,
// 420
78, 80,
// 422
106, 101,
// 424
107, 102,
// 426
108, 103,
// 428
109, 104,
// 430
110, 105,
// 432
78, 78,
// 434
106, 106,
// 436
26, 85,
// 438
107, 107,
// 440
108, 108,
// 442
109, 109,
// 444
110, 110,
// 446
142, 111,
// 448
145, 112,
// 450
78, 85,
// 452
106, 111,
// 454
195, 113,
// 456
107, 112,
// 458
108, 113,
// 460
109, 114,
// 462
110, 115,
// 464
224, 114,
// 466
225, 115,
// 468
78, 65,
// 470
106, 116,
// 472
107, 117,
// 474
108, 118,
// 476
109, 119,
// 478
110, 120,
// 480
78, 82,
// 482
106, 121,
// 484
107, 122,
// 486
108, 123,
// 488
109, 124,
// 490
110, 125,
// 492
78, 68,
// 494
106, 126,
// 496
107, 127,
// 498
108, 128,
// 500
109, 129,
// 502
110, 130,
// 504
78, 84,
// 506
106, 131,
// 508
107, 132,
// 510
108, 133,
// 512
109, 134,
// 514
110, 135,
// 516
26, 65,
// 518
85, 26,
// 520
111, 142,
// 522
112, 145,
// 524
113, 195,
// 526
114, 224,
// 528
115, 225,
// 530
142, 116,
// 532
145, 117,
// 534
195, 118,
// 536
85, 23,
// 538
111, 343,
// 540
112, 87,
// 542
113, 88,
// 544
114, 89,
// 546
115, 90,
// 548
224, 119,
// 550
225, 120,
// 552
85, 52,
// 554
111, 91,
// 556
112, 92,
// 558
113, 93,
// 560
114, 94,
// 562
115, 95,
// 564
85, 19,
// 566
111, 96,
// 568
112, 97,
// 570
113, 98,
// 572
114, 99,
// 574
115, 100,
// 576
85, 80,
// 578
111, 101,
// 580
112, 102,
// 582
113, 103,
// 584
114, 104,
// 586
115, 105,
// 588
85, 78,
// 590
111, 106,
// 592
112, 107,
// 594
113, 108,
// 596
114, 109,
// 598
115, 110,
// 600
26, 82,
// 602
85, 85,
// 604
111, 111,
// 606
142, 121,
// 608
112, 112,
// 610
113, 113,
// 612
114, 114,
// 614
115, 115,
// 616
145, 122,
// 618
195, 123,
// 620
85, 65,
// 622
111, 116,
// 624
224, 124,
// 626
112, 117,
// 628
113, 118,
// 630
114, 119,
// 632
115, 120,
// 634
225, 125,
// 636
85, 82,
// 638
111, 121,
// 640
112, 122,
// 642
113, 123,
// 644
114, 124,
// 646
115, 125,
// 648
85, 68,
// 650
111, 126,
// 652
112, 127,
// 654
113, 128,
// 656
114, 129,
// 658
115, 130,
// 660
85, 84,
// 662
111, 131,
// 664
112, 132,
// 666
113, 133,
// 668
114, 134,
// 670
115, 135,
// 672
65, 26,
// 674
116, 142,
// 676
117, 145,
// 678
118, 195,
// 680
119, 224,
// 682
120, 225,
// 684
26, 68,
// 686
142, 126,
// 688
65, 23,
// 690
116, 343,
// 692
117, 87,
// 694
118, 88,
// 696
119, 89,
// 698
120, 90,
// 700
145, 127,
// 702
195, 128,
// 704
224, 129,
// 706
65, 52,
// 708
116, 91,
// 710
117, 92,
// 712
118, 93,
// 714
119, 94,
// 716
120, 95,
// 718
225, 130,
// 720
65, 19,
// 722
116, 96,
// 724
117, 97,
// 726
118, 98,
// 728
119, 99,
// 730
120, 100,
// 732
65, 80,
// 734
116, 101,
// 736
117, 102,
// 738
118, 103,
// 740
119, 104,
// 742
120, 105,
// 744
65, 78,
// 746
116, 106,
// 748
117, 107,
// 750
118, 108,
// 752
119, 109,
// 754
120, 110,
// 756
65, 85,
// 758
116, 111,
// 760
117, 112,
// 762
118, 113,
// 764
119, 114,
// 766
120, 115,
// 768
26, 84,
// 770
142, 131,
// 772
65, 65,
// 774
116, 116,
// 776
145, 132,
// 778
117, 117,
// 780
118, 118,
// 782
119, 119,
// 784
120, 120,
// 786
195, 133,
// 788
224, 134,
// 790
65, 82,
// 792
116, 121,
// 794
225, 135,
// 796
117, 122,
// 798
118, 123,
// 800
119, 124,
// 802
120, 125,
// 804
65, 68,
// 806
116, 126,
// 808
117, 127,
// 810
118, 128,
// 812
119, 129,
// 814
120, 130,
// 816
65, 84,
// 818
116, 131,
// 820
117, 132,
// 822
118, 133,
// 824
119, 134,
// 826
120, 135,
// 828
82, 26,
// 830
121, 142,
// 832
122, 145,
// 834
123, 195,
// 836
124, 224,
// 838
125, 225,
// 840
82, 23,
// 842
121, 343,
// 844
122, 87,
// 846
123, 88,
// 848
124, 89,
// 850
125, 90,
// 852
23, 26,
// 854
343, 142,
// 856
87, 145,
// 858
88, 195,
// 860
89, 224,
// 862
82, 52,
// 864
121, 91,
// 866
90, 225,
// 868
122, 92,
// 870
123, 93,
// 872
124, 94,
// 874
125, 95,
// 876
82, 19,
// 878
121, 96,
// 880
122, 97,
// 882
123, 98,
// 884
124, 99,
// 886
125, 100,
// 888
82, 80,
// 890
121, 101,
// 892
122, 102,
// 894
123, 103,
// 896
124, 104,
// 898
125, 105,
// 900
82, 78,
// 902
121, 106,
// 904
122, 107,
// 906
123, 108,
// 908
124, 109,
// 910
125, 110,
// 912
82, 85,
// 914
121, 111,
// 916
122, 112,
// 918
123, 113,
// 920
124, 114,
// 922
125, 115,
// 924
23, 23,
// 926
343, 343,
// 928
87, 87,
// 930
88, 88,
// 932
89, 89,
// 934
82, 65,
// 936
121, 116,
// 938
90, 90,
// 940
122, 117,
// 942
123, 118,
// 944
124, 119,
// 946
125, 120,
// 948
82, 82,
// 950
121, 121,
// 952
122, 122,
// 954
123, 123,
// 956
124, 124,
// 958
125, 125,
// 960
82, 68,
// 962
121, 126,
// 964
122, 127,
// 966
123, 128,
// 968
124, 129,
// 970
125, 130,
// 972
82, 84,
// 974
121, 131,
// 976
122, 132,
// 978
123, 133,
// 980
124, 134,
// 982
125, 135,
// 984
68, 26,
// 986
126, 142,
// 988
127, 145,
// 990
128, 195,
// 992
129, 224,
// 994
130, 225,
// 996
23, 52,
// 998
343, 91,
// 1000
87, 92,
// 1002
88, 93,
// 1004
89, 94,
// 1006
68, 23,
// 1008
126, 343,
// 1010
90, 95,
// 1012
127, 87,
// 1014
128, 88,
// 1016
129, 89,
// 1018
130, 90,
// 1020
68, 52,
// 1022
126, 91,
// 1024
127, 92,
// 1026
128, 93,
// 1028
129, 94,
// 1030
130, 95,
// 1032
68, 19,
// 1034
126, 96,
// 1036
127, 97,
// 1038
128, 98,
// 1040
129, 99,
// 1042
130, 100,
// 1044
68, 80,
// 1046
126, 101,
// 1048
127, 102,
// 1050
128, 103,
// 1052
129, 104,
// 1054
130, 105,
// 1056
68, 78,
// 1058
126, 106,
// 1060
127, 107,
// 1062
128, 108,
// 1064
129, 109,
// 1066
130, 110,
// 1068
23, 19,
// 1070
343, 96,
// 1072
87, 97,
// 1074
88, 98,
// 1076
89, 99,
// 1078
68, 85,
// 1080
126, 111,
// 1082
90, 100,
// 1084
127, 112,
// 1086
128, 113,
// 1088
129, 114,
// 1090
130, 115,
// 1092
68, 65,
// 1094
126, 116,
// 1096
127, 117,
// 1098
128, 118,
// 1100
129, 119,
// 1102
130, 120,
// 1104
68, 82,
// 1106
126, 121,
// 1108
127, 122,
// 1110
128, 123,
// 1112
129, 124,
// 1114
130, 125,
// 1116
68, 68,
// 1118
126, 126,
// 1120
127, 127,
// 1122
128, 128,
// 1124
129, 129,
// 1126
130, 130,
// 1128
68, 84,
// 1130
126, 131,
// 1132
127, 132,
// 1134
128, 133,
// 1136
129, 134,
// 1138
130, 135,
// 1140
23, 80,
// 1142
343, 101,
// 1144
87, 102,
// 1146
88, 103,
// 1148
89, 104,
// 1150
84, 26,
// 1152
131, 142,
// 1154
90, 105,
// 1156
132, 145,
// 1158
133, 195,
// 1160
134, 224,
// 1162
135, 225,
// 1164
84, 23,
// 1166
131, 343,
// 1168
132, 87,
// 1170
133, 88,
// 1172
134, 89,
// 1174
135, 90,
// 1176
84, 52,
// 1178
131, 91,
// 1180
132, 92,
// 1182
133, 93,
// 1184
134, 94,
// 1186
135, 95,
// 1188
84, 19,
// 1190
131, 96,
// 1192
132, 97,
// 1194
133, 98,
// 1196
134, 99,
// 1198
135, 100,
// 1200
84, 80,
// 1202
131, 101,
// 1204
132, 102,
// 1206
133, 103,
// 1208
134, 104,
// 1210
135, 105,
// 1212
23, 78,
// 1214
343, 106,
// 1216
87, 107,
// 1218
88, 108,
// 1220
89, 109,
// 1222
84, 78,
// 1224
131, 106,
// 1226
90, 110,
// 1228
132, 107,
// 1230
133, 108,
// 1232
134, 109,
// 1234
135, 110,
// 1236
84, 85,
// 1238
131, 111,
// 1240
132, 112,
// 1242
133, 113,
// 1244
134, 114,
// 1246
135, 115,
// 1248
84, 65,
// 1250
131, 116,
// 1252
132, 117,
// 1254
133, 118,
// 1256
134, 119,
// 1258
135, 120,
// 1260
84, 82,
// 1262
131, 121,
// 1264
132, 122,
// 1266
133, 123,
// 1268
134, 124,
// 1270
135, 125,
// 1272
84, 68,
// 1274
131, 126,
// 1276
132, 127,
// 1278
133, 128,
// 1280
134, 129,
// 1282
135, 130,
// 1284
23, 85,
// 1286
343, 111,
// 1288
26, 26,
// 1290
87, 112,
// 1292
88, 113,
// 1294
89, 114,
// 1296
84, 84,
// 1298
131, 131,
// 1300
90, 115,
// 1302
132, 132,
// 1304
133, 133,
// 1306
134, 134,
// 1308
135, 135,
// 1310
82,
// 1311
79, 82,
// 1313
79,
// 1314
25, 25,
// 1316
142, 142,
// 1318
33, 46,
// 1320
30, 48,
// 1322
36, 50,
// 1324
25, 25, 25,
// 1327
34, 34, 26,
// 1330
31, 31, 23,
// 1333
37, 37, 52,
// 1336
38, 33,
// 1338
38, 30,
// 1340
38, 36,
// 1342
33, 33, 38,
// 1345
34, 34, 65,
// 1348
30, 30, 38,
// 1351
31, 31, 65,
// 1354
36, 36, 38,
// 1357
37, 37, 65,
// 1360
25, 25, 25, 25,
// 1364
25, 25, 136,
// 1367
33, 33, 137,
// 1370
33, 33, 33, 137,
// 1374
30, 30, 137,
// 1377
36, 36, 137,
// 1380
30, 30, 30, 137,
// 1384
36, 36, 36, 137,
// 1388
25, 25, 138,
// 1391
33, 33, 139,
// 1394
30, 30, 139,
// 1397
36, 36, 139,
// 1400
33, 33, 33, 139,
// 1404
30, 30, 30, 139,
// 1408
36, 36, 36, 139,
// 1412
25, 25, 140,
// 1415
33, 33, 141,
// 1418
30, 30, 141,
// 1421
36, 36, 141,
// 1424
33, 33, 33, 141,
// 1428
30, 30, 30, 141,
// 1432
36, 36, 36, 141,
// 1436
25, 25, 143,
// 1439
33, 33, 144,
// 1442
30, 30, 144,
// 1445
36, 36, 144,
// 1448
33, 33, 33, 144,
// 1452
30, 30, 30, 144,
// 1456
36, 36, 36, 144,
// 1460
33, 33,
// 1462
33, 33, 33,
// 1465
3, 5,
// 1467
5, 5,
// 1469
3, 5, 5,
// 1472
5, 5, 5,
// 1475
6, 6, 4,
// 1478
23, 65,
// 1480
42, 27, 44,
// 1483
50, 44, 44,
// 1486
38, 42, 50,
// 1489
46, 50, 50,
// 1492
40, 38, 46,
// 1495
48, 46, 46,
// 1498
5, 5, 5, 5,
// 1502
6, 6, 4, 4,
// 1506
343, 116,
// 1508
38, 38, 38, 38,
// 1512
46, 46, 46, 46,
// 1516
38, 38, 38,
// 1519
46, 46, 46,
// 1522
87, 117,
// 1524
34, 26, 34,
// 1527
31, 23, 31,
// 1530
37, 52, 37,
// 1533
88, 118,
// 1535
34, 34, 26, 26,
// 1539
31, 31, 23, 23,
// 1543
37, 37, 52, 52,
// 1547
34, 34, 34, 26,
// 1551
31, 31, 31, 23,
// 1555
37, 37, 37, 52,
// 1559
34, 26, 26, 34,
// 1563
31, 23, 23, 31,
// 1567
89, 119,
// 1569
37, 52, 52, 37,
// 1573
26, 32,
// 1575
23, 29,
// 1577
52, 35,
// 1579
32, 32,
// 1581
29, 29,
// 1583
35, 35,
// 1585
145, 145, 145,
// 1588
90, 120,
// 1590
87, 87, 87,
// 1593
92, 92, 92,
// 1596
195, 195, 195,
// 1599
88, 88, 88,
// 1602
93, 93, 93,
// 1605
26, 32, 32,
// 1608
23, 29, 29,
// 1611
52, 35, 35,
// 1614
41, 31,
// 1616
43, 37,
// 1618
65, 76,
// 1620
38, 33, 33,
// 1623
65, 23, 23,
// 1626
41, 31, 31,
// 1629
65, 52, 52,
// 1632
43, 37, 37,
// 1635
145, 145,
// 1637
1, 1, 1, 1,
// 1641
76, 76, 76, 76,
// 1645
76, 76, 76, 81,
// 1649
81, 81, 81, 81,
// 1653
81, 81, 81, 76,
// 1657
33, 33, 33, 38,
// 1661
33, 33, 33, 46,
// 1665
30, 30, 30, 40,
// 1669
30, 30, 30, 48,
// 1673
36, 36, 36, 42,
// 1677
36, 36, 36, 50,
// 1681
96, 79, 157,
// 1684
101, 79, 158,
// 1687
106, 79, 159,
// 1690
111, 79, 160,
// 1693
116, 79, 161,
// 1696
121, 79, 162,
// 1699
126, 79, 163,
// 1702
131, 79, 164,
// 1705
142, 79, 165,
// 1708
343, 79, 166,
// 1711
91, 79, 167,
// 1714
142, 79, 167,
// 1717
86, 96, 79, 168,
// 1721
86, 101, 79, 169,
// 1725
86, 106, 79, 170,
// 1729
86, 111, 79, 171,
// 1733
86, 116, 79, 172,
// 1737
86, 121, 79, 173,
// 1741
86, 126, 79, 174,
// 1745
86, 131, 79, 175,
// 1749
86, 142, 79, 176,
// 1753
86, 343, 79, 177,
// 1757
86, 91, 79, 178,
// 1761
86, 142, 79, 178,
// 1765
86, 343, 79, 178,
// 1769
97, 79, 157,
// 1772
102, 79, 158,
// 1775
107, 79, 159,
// 1778
112, 79, 160,
// 1781
117, 79, 161,
// 1784
122, 79, 162,
// 1787
127, 79, 163,
// 1790
132, 79, 164,
// 1793
145, 79, 165,
// 1796
87, 79, 166,
// 1799
92, 79, 167,
// 1802
145, 79, 167,
// 1805
86, 97, 79, 168,
// 1809
86, 102, 79, 169,
// 1813
86, 107, 79, 170,
// 1817
86, 112, 79, 171,
// 1821
86, 117, 79, 172,
// 1825
86, 122, 79, 173,
// 1829
86, 127, 79, 174,
// 1833
86, 132, 79, 175,
// 1837
86, 145, 79, 176,
// 1841
86, 87, 79, 177,
// 1845
86, 92, 79, 178,
// 1849
86, 145, 79, 178,
// 1853
86, 87, 79, 178,
// 1857
98, 79, 157,
// 1860
103, 79, 158,
// 1863
108, 79, 159,
// 1866
113, 79, 160,
// 1869
118, 79, 161,
// 1872
123, 79, 162,
// 1875
128, 79, 163,
// 1878
133, 79, 164,
// 1881
195, 79, 165,
// 1884
88, 79, 166,
// 1887
93, 79, 167,
// 1890
23, 82,
// 1892
195, 79, 167,
// 1895
86, 98, 79, 168,
// 1899
86, 103, 79, 169,
// 1903
86, 108, 79, 170,
// 1907
86, 113, 79, 171,
// 1911
86, 118, 79, 172,
// 1915
86, 123, 79, 173,
// 1919
86, 128, 79, 174,
// 1923
86, 133, 79, 175,
// 1927
86, 195, 79, 176,
// 1931
343, 121,
// 1933
86, 88, 79, 177,
// 1937
86, 93, 79, 178,
// 1941
86, 195, 79, 178,
// 1945
86, 88, 79, 178,
// 1949
195, 195,
// 1951
87, 122,
// 1953
99, 79, 157,
// 1956
104, 79, 158,
// 1959
109, 79, 159,
// 1962
114, 79, 160,
// 1965
119, 79, 161,
// 1968
124, 79, 162,
// 1971
129, 79, 163,
// 1974
134, 79, 164,
// 1977
88, 123,
// 1979
224, 79, 165,
// 1982
89, 79, 166,
// 1985
94, 79, 167,
// 1988
224, 79, 167,
// 1991
86, 99, 79, 168,
// 1995
86, 104, 79, 169,
// 1999
86, 109, 79, 170,
// 2003
86, 114, 79, 171,
// 2007
86, 119, 79, 172,
// 2011
86, 124, 79, 173,
// 2015
89, 124,
// 2017
86, 129, 79, 174,
// 2021
86, 134, 79, 175,
// 2025
86, 224, 79, 176,
// 2029
86, 89, 79, 177,
// 2033
86, 94, 79, 178,
// 2037
86, 224, 79, 178,
// 2041
86, 89, 79, 178,
// 2045
90, 125,
// 2047
100, 79, 157,
// 2050
105, 79, 158,
// 2053
110, 79, 159,
// 2056
115, 79, 160,
// 2059
120, 79, 161,
// 2062
125, 79, 162,
// 2065
130, 79, 163,
// 2068
135, 79, 164,
// 2071
225, 79, 165,
// 2074
90, 79, 166,
// 2077
95, 79, 167,
// 2080
225, 79, 167,
// 2083
86, 100, 79, 168,
// 2087
86, 105, 79, 169,
// 2091
86, 110, 79, 170,
// 2095
86, 115, 79, 171,
// 2099
86, 120, 79, 172,
// 2103
86, 125, 79, 173,
// 2107
86, 130, 79, 174,
// 2111
86, 135, 79, 175,
// 2115
86, 225, 79, 176,
// 2119
86, 90, 79, 177,
// 2123
86, 95, 79, 178,
// 2127
86, 225, 79, 178,
// 2131
86, 90, 79, 178,
// 2135
96, 79, 179,
// 2138
101, 79, 180,
// 2141
106, 79, 181,
// 2144
111, 79, 182,
// 2147
116, 79, 183,
// 2150
121, 79, 184,
// 2153
126, 79, 185,
// 2156
131, 79, 186,
// 2159
142, 79, 187,
// 2162
343, 79, 188,
// 2165
91, 79, 189,
// 2168
142, 79, 189,
// 2171
86, 96, 79, 190,
// 2175
86, 101, 79, 191,
// 2179
86, 106, 79, 192,
// 2183
86, 111, 79, 193,
// 2187
86, 116, 79, 194,
// 2191
86, 121, 79, 196,
// 2195
86, 126, 79, 197,
// 2199
86, 131, 79, 198,
// 2203
86, 142, 79, 199,
// 2207
86, 343, 79, 200,
// 2211
86, 91, 79, 201,
// 2215
86, 142, 79, 201,
// 2219
86, 343, 79, 201,
// 2223
97, 79, 179,
// 2226
102, 79, 180,
// 2229
107, 79, 181,
// 2232
112, 79, 182,
// 2235
117, 79, 183,
// 2238
122, 79, 184,
// 2241
127, 79, 185,
// 2244
132, 79, 186,
// 2247
145, 79, 187,
// 2250
87, 79, 188,
// 2253
92, 79, 189,
// 2256
145, 79, 189,
// 2259
86, 97, 79, 190,
// 2263
86, 102, 79, 191,
// 2267
86, 107, 79, 192,
// 2271
86, 112, 79, 193,
// 2275
86, 117, 79, 194,
// 2279
86, 122, 79, 196,
// 2283
86, 127, 79, 197,
// 2287
86, 132, 79, 198,
// 2291
86, 145, 79, 199,
// 2295
86, 87, 79, 200,
// 2299
86, 92, 79, 201,
// 2303
86, 145, 79, 201,
// 2307
86, 87, 79, 201,
// 2311
98, 79, 179,
// 2314
103, 79, 180,
// 2317
108, 79, 181,
// 2320
113, 79, 182,
// 2323
118, 79, 183,
// 2326
123, 79, 184,
// 2329
128, 79, 185,
// 2332
133, 79, 186,
// 2335
195, 79, 187,
// 2338
88, 79, 188,
// 2341
93, 79, 189,
// 2344
195, 79, 189,
// 2347
86, 98, 79, 190,
// 2351
86, 103, 79, 191,
// 2355
86, 108, 79, 192,
// 2359
86, 113, 79, 193,
// 2363
86, 118, 79, 194,
// 2367
86, 123, 79, 196,
// 2371
86, 128, 79, 197,
// 2375
86, 133, 79, 198,
// 2379
86, 195, 79, 199,
// 2383
86, 88, 79, 200,
// 2387
86, 93, 79, 201,
// 2391
86, 195, 79, 201,
// 2395
86, 88, 79, 201,
// 2399
99, 79, 179,
// 2402
104, 79, 180,
// 2405
109, 79, 181,
// 2408
114, 79, 182,
// 2411
119, 79, 183,
// 2414
124, 79, 184,
// 2417
129, 79, 185,
// 2420
134, 79, 186,
// 2423
224, 79, 187,
// 2426
89, 79, 188,
// 2429
94, 79, 189,
// 2432
224, 79, 189,
// 2435
86, 99, 79, 190,
// 2439
86, 104, 79, 191,
// 2443
86, 109, 79, 192,
// 2447
86, 114, 79, 193,
// 2451
86, 119, 79, 194,
// 2455
86, 124, 79, 196,
// 2459
86, 129, 79, 197,
// 2463
86, 134, 79, 198,
// 2467
86, 224, 79, 199,
// 2471
86, 89, 79, 200,
// 2475
86, 94, 79, 201,
// 2479
86, 224, 79, 201,
// 2483
86, 89, 79, 201,
// 2487
224, 224,
// 2489
100, 79, 179,
// 2492
105, 79, 180,
// 2495
110, 79, 181,
// 2498
115, 79, 182,
// 2501
120, 79, 183,
// 2504
125, 79, 184,
// 2507
130, 79, 185,
// 2510
135, 79, 186,
// 2513
225, 79, 187,
// 2516
90, 79, 188,
// 2519
95, 79, 189,
// 2522
225, 79, 189,
// 2525
86, 100, 79, 190,
// 2529
86, 105, 79, 191,
// 2533
86, 110, 79, 192,
// 2537
86, 115, 79, 193,
// 2541
86, 120, 79, 194,
// 2545
86, 125, 79, 196,
// 2549
86, 130, 79, 197,
// 2553
86, 135, 79, 198,
// 2557
86, 225, 79, 199,
// 2561
86, 90, 79, 200,
// 2565
86, 95, 79, 201,
// 2569
86, 225, 79, 201,
// 2573
86, 90, 79, 201,
// 2577
96, 79, 202,
// 2580
101, 79, 203,
// 2583
106, 79, 204,
// 2586
111, 79, 205,
// 2589
116, 79, 206,
// 2592
121, 79, 207,
// 2595
126, 79, 208,
// 2598
131, 79, 209,
// 2601
142, 79, 210,
// 2604
343, 79, 211,
// 2607
91, 79, 212,
// 2610
142, 79, 212,
// 2613
86, 96, 79, 213,
// 2617
86, 101, 79, 214,
// 2621
86, 106, 79, 215,
// 2625
86, 111, 79, 216,
// 2629
86, 116, 79, 217,
// 2633
86, 121, 79, 218,
// 2637
86, 126, 79, 219,
// 2641
86, 131, 79, 220,
// 2645
86, 142, 79, 221,
// 2649
86, 343, 79, 222,
// 2653
86, 91, 79, 223,
// 2657
86, 142, 79, 223,
// 2661
86, 343, 79, 223,
// 2665
97, 79, 202,
// 2668
102, 79, 203,
// 2671
107, 79, 204,
// 2674
112, 79, 205,
// 2677
117, 79, 206,
// 2680
122, 79, 207,
// 2683
127, 79, 208,
// 2686
132, 79, 209,
// 2689
145, 79, 210,
// 2692
87, 79, 211,
// 2695
92, 79, 212,
// 2698
145, 79, 212,
// 2701
86, 97, 79, 213,
// 2705
86, 102, 79, 214,
// 2709
23, 68,
// 2711
86, 107, 79, 215,
// 2715
86, 112, 79, 216,
// 2719
86, 117, 79, 217,
// 2723
86, 122, 79, 218,
// 2727
86, 127, 79, 219,
// 2731
86, 132, 79, 220,
// 2735
86, 145, 79, 221,
// 2739
86, 87, 79, 222,
// 2743
86, 92, 79, 223,
// 2747
86, 145, 79, 223,
// 2751
343, 126,
// 2753
86, 87, 79, 223,
// 2757
98, 79, 202,
// 2760
87, 127,
// 2762
103, 79, 203,
// 2765
108, 79, 204,
// 2768
113, 79, 205,
// 2771
118, 79, 206,
// 2774
123, 79, 207,
// 2777
128, 79, 208,
// 2780
133, 79, 209,
// 2783
195, 79, 210,
// 2786
88, 79, 211,
// 2789
93, 79, 212,
// 2792
88, 128,
// 2794
195, 79, 212,
// 2797
86, 98, 79, 213,
// 2801
86, 103, 79, 214,
// 2805
86, 108, 79, 215,
// 2809
86, 113, 79, 216,
// 2813
86, 118, 79, 217,
// 2817
86, 123, 79, 218,
// 2821
86, 128, 79, 219,
// 2825
86, 133, 79, 220,
// 2829
86, 195, 79, 221,
// 2833
89, 129,
// 2835
86, 88, 79, 222,
// 2839
86, 93, 79, 223,
// 2843
86, 195, 79, 223,
// 2847
86, 88, 79, 223,
// 2851
90, 130,
// 2853
99, 79, 202,
// 2856
104, 79, 203,
// 2859
109, 79, 204,
// 2862
114, 79, 205,
// 2865
119, 79, 206,
// 2868
124, 79, 207,
// 2871
129, 79, 208,
// 2874
134, 79, 209,
// 2877
224, 79, 210,
// 2880
89, 79, 211,
// 2883
94, 79, 212,
// 2886
224, 79, 212,
// 2889
86, 99, 79, 213,
// 2893
86, 104, 79, 214,
// 2897
86, 109, 79, 215,
// 2901
86, 114, 79, 216,
// 2905
86, 119, 79, 217,
// 2909
86, 124, 79, 218,
// 2913
86, 129, 79, 219,
// 2917
86, 134, 79, 220,
// 2921
86, 224, 79, 221,
// 2925
86, 89, 79, 222,
// 2929
86, 94, 79, 223,
// 2933
86, 224, 79, 223,
// 2937
86, 89, 79, 223,
// 2941
100, 79, 202,
// 2944
105, 79, 203,
// 2947
110, 79, 204,
// 2950
115, 79, 205,
// 2953
120, 79, 206,
// 2956
125, 79, 207,
// 2959
130, 79, 208,
// 2962
135, 79, 209,
// 2965
225, 79, 210,
// 2968
90, 79, 211,
// 2971
95, 79, 212,
// 2974
225, 79, 212,
// 2977
86, 100, 79, 213,
// 2981
86, 105, 79, 214,
// 2985
86, 110, 79, 215,
// 2989
86, 115, 79, 216,
// 2993
86, 120, 79, 217,
// 2997
86, 125, 79, 218,
// 3001
86, 130, 79, 219,
// 3005
86, 135, 79, 220,
// 3009
86, 225, 79, 221,
// 3013
86, 90, 79, 222,
// 3017
86, 95, 79, 223,
// 3021
86, 225, 79, 223,
// 3025
86, 90, 79, 223,
// 3029
225, 225,
// 3031
96, 79, 226,
// 3034
101, 79, 227,
// 3037
106, 79, 228,
// 3040
111, 79, 229,
// 3043
116, 79, 230,
// 3046
121, 79, 231,
// 3049
126, 79, 232,
// 3052
131, 79, 233,
// 3055
142, 79, 234,
// 3058
343, 79, 235,
// 3061
91, 79, 236,
// 3064
142, 79, 236,
// 3067
86, 96, 79, 237,
// 3071
86, 101, 79, 238,
// 3075
86, 106, 79, 239,
// 3079
86, 111, 79, 240,
// 3083
86, 116, 79, 241,
// 3087
86, 121, 79, 242,
// 3091
86, 126, 79, 243,
// 3095
86, 131, 79, 244,
// 3099
86, 142, 79, 245,
// 3103
86, 343, 79, 246,
// 3107
86, 91, 79, 247,
// 3111
86, 142, 79, 247,
// 3115
86, 343, 79, 247,
// 3119
97, 79, 226,
// 3122
102, 79, 227,
// 3125
107, 79, 228,
// 3128
112, 79, 229,
// 3131
117, 79, 230,
// 3134
122, 79, 231,
// 3137
127, 79, 232,
// 3140
132, 79, 233,
// 3143
145, 79, 234,
// 3146
87, 79, 235,
// 3149
92, 79, 236,
// 3152
145, 79, 236,
// 3155
86, 97, 79, 237,
// 3159
86, 102, 79, 238,
// 3163
86, 107, 79, 239,
// 3167
86, 112, 79, 240,
// 3171
86, 117, 79, 241,
// 3175
86, 122, 79, 242,
// 3179
86, 127, 79, 243,
// 3183
86, 132, 79, 244,
// 3187
86, 145, 79, 245,
// 3191
86, 87, 79, 246,
// 3195
86, 92, 79, 247,
// 3199
86, 145, 79, 247,
// 3203
86, 87, 79, 247,
// 3207
98, 79, 226,
// 3210
103, 79, 227,
// 3213
108, 79, 228,
// 3216
113, 79, 229,
// 3219
118, 79, 230,
// 3222
123, 79, 231,
// 3225
128, 79, 232,
// 3228
133, 79, 233,
// 3231
195, 79, 234,
// 3234
88, 79, 235,
// 3237
93, 79, 236,
// 3240
195, 79, 236,
// 3243
86, 98, 79, 237,
// 3247
86, 103, 79, 238,
// 3251
86, 108, 79, 239,
// 3255
86, 113, 79, 240,
// 3259
86, 118, 79, 241,
// 3263
86, 123, 79, 242,
// 3267
86, 128, 79, 243,
// 3271
86, 133, 79, 244,
// 3275
86, 195, 79, 245,
// 3279
86, 88, 79, 246,
// 3283
86, 93, 79, 247,
// 3287
86, 195, 79, 247,
// 3291
86, 88, 79, 247,
// 3295
99, 79, 226,
// 3298
104, 79, 227,
// 3301
109, 79, 228,
// 3304
114, 79, 229,
// 3307
119, 79, 230,
// 3310
124, 79, 231,
// 3313
129, 79, 232,
// 3316
134, 79, 233,
// 3319
224, 79, 234,
// 3322
89, 79, 235,
// 3325
94, 79, 236,
// 3328
224, 79, 236,
// 3331
86, 99, 79, 237,
// 3335
86, 104, 79, 238,
// 3339
86, 109, 79, 239,
// 3343
86, 114, 79, 240,
// 3347
86, 119, 79, 241,
// 3351
86, 124, 79, 242,
// 3355
86, 129, 79, 243,
// 3359
86, 134, 79, 244,
// 3363
86, 224, 79, 245,
// 3367
86, 89, 79, 246,
// 3371
86, 94, 79, 247,
// 3375
86, 224, 79, 247,
// 3379
86, 89, 79, 247,
// 3383
100, 79, 226,
// 3386
105, 79, 227,
// 3389
110, 79, 228,
// 3392
115, 79, 229,
// 3395
120, 79, 230,
// 3398
125, 79, 231,
// 3401
130, 79, 232,
// 3404
135, 79, 233,
// 3407
225, 79, 234,
// 3410
90, 79, 235,
// 3413
95, 79, 236,
// 3416
225, 79, 236,
// 3419
86, 100, 79, 237,
// 3423
86, 105, 79, 238,
// 3427
86, 110, 79, 239,
// 3431
86, 115, 79, 240,
// 3435
86, 120, 79, 241,
// 3439
86, 125, 79, 242,
// 3443
86, 130, 79, 243,
// 3447
86, 135, 79, 244,
// 3451
86, 225, 79, 245,
// 3455
86, 90, 79, 246,
// 3459
86, 95, 79, 247,
// 3463
86, 225, 79, 247,
// 3467
86, 90, 79, 247,
// 3471
23, 84,
// 3473
343, 131,
// 3475
96, 79, 248,
// 3478
101, 79, 249,
// 3481
87, 132,
// 3483
106, 79, 250,
// 3486
111, 79, 251,
// 3489
116, 79, 252,
// 3492
121, 79, 253,
// 3495
126, 79, 254,
// 3498
131, 79, 255,
// 3501
142, 79, 256,
// 3504
343, 79, 257,
// 3507
91, 79, 258,
// 3510
142, 79, 258,
// 3513
88, 133,
// 3515
97, 79, 248,
// 3518
102, 79, 249,
// 3521
107, 79, 250,
// 3524
112, 79, 251,
// 3527
117, 79, 252,
// 3530
122, 79, 253,
// 3533
127, 79, 254,
// 3536
132, 79, 255,
// 3539
145, 79, 256,
// 3542
87, 79, 257,
// 3545
89, 134,
// 3547
92, 79, 258,
// 3550
145, 79, 258,
// 3553
98, 79, 248,
// 3556
103, 79, 249,
// 3559
108, 79, 250,
// 3562
113, 79, 251,
// 3565
118, 79, 252,
// 3568
123, 79, 253,
// 3571
128, 79, 254,
// 3574
133, 79, 255,
// 3577
90, 135,
// 3579
195, 79, 256,
// 3582
88, 79, 257,
// 3585
93, 79, 258,
// 3588
195, 79, 258,
// 3591
99, 79, 248,
// 3594
104, 79, 249,
// 3597
109, 79, 250,
// 3600
114, 79, 251,
// 3603
119, 79, 252,
// 3606
124, 79, 253,
// 3609
129, 79, 254,
// 3612
134, 79, 255,
// 3615
224, 79, 256,
// 3618
89, 79, 257,
// 3621
94, 79, 258,
// 3624
224, 79, 258,
// 3627
100, 79, 248,
// 3630
105, 79, 249,
// 3633
110, 79, 250,
// 3636
115, 79, 251,
// 3639
120, 79, 252,
// 3642
125, 79, 253,
// 3645
130, 79, 254,
// 3648
135, 79, 255,
// 3651
225, 79, 256,
// 3654
90, 79, 257,
// 3657
95, 79, 258,
// 3660
225, 79, 258,
// 3663
26, 79, 167,
// 3666
86, 26, 79, 178,
// 3670
86, 23, 79, 178,
// 3674
26, 79, 189,
// 3677
86, 26, 79, 201,
// 3681
86, 23, 79, 201,
// 3685
26, 79, 212,
// 3688
86, 26, 79, 223,
// 3692
86, 23, 79, 223,
// 3696
52, 26,
// 3698
91, 142,
// 3700
26, 79, 236,
// 3703
86, 26, 79, 247,
// 3707
86, 23, 79, 247,
// 3711
92, 145,
// 3713
93, 195,
// 3715
94, 224,
// 3717
95, 225,
// 3719
26, 79, 258,
// 3722
86, 69,
// 3724
86, 69, 71,
// 3727
69, 259,
// 3729
69, 261,
// 3731
24, 262, 264, 79, 24,
// 3736
24, 265, 266, 79, 24,
// 3741
24, 262, 264, 79, 79, 24,
// 3747
24, 265, 266, 79, 79, 24,
// 3753
86, 65, 267,
// 3756
86, 264, 79,
// 3759
65, 269, 65,
// 3762
65, 269,
// 3764
65, 269, 65, 65,
// 3768
82, 271, 82,
// 3771
82, 271,
// 3773
82, 271, 82, 82,
// 3777
65, 272, 65,
// 3780
65, 272,
// 3782
65, 272, 65, 65,
// 3786
82, 273, 82,
// 3789
82, 273,
// 3791
82, 273, 82, 82,
// 3795
68, 275, 68,
// 3798
68, 275,
// 3800
68, 275, 68, 68,
// 3804
84, 277, 84,
// 3807
84, 277,
// 3809
84, 277, 84, 84,
// 3813
68, 278, 68,
// 3816
68, 278,
// 3818
68, 278, 68, 68,
// 3822
84, 279, 84,
// 3825
84, 279,
// 3827
84, 279, 84, 84,
// 3831
26, 281, 26,
// 3834
26, 282, 26,
// 3837
65, 283, 65,
// 3840
65, 283,
// 3842
65, 283, 65, 65,
// 3846
82, 284, 82,
// 3849
82, 284,
// 3851
82, 284, 82, 82,
// 3855
86, 69, 70, 71,
// 3859
86, 286, 65,
// 3862
86, 286, 65, 70,
// 3866
86, 286, 65, 70, 71,
// 3871
65, 286,
// 3873
65, 286, 70,
// 3876
65, 286, 70, 71,
// 3880
52, 23,
// 3882
65, 286, 65,
// 3885
65, 286, 65, 70,
// 3889
65, 286, 65, 70, 71,
// 3894
18, 286, 241, 65,
// 3898
18, 286, 241, 65, 70, 70,
// 3904
18, 286, 241, 65, 70, 70, 71,
// 3911
91, 343,
// 3913
86, 288, 82,
// 3916
86, 288, 82, 70,
// 3920
86, 288, 82, 70, 71,
// 3925
82, 288,
// 3927
82, 288, 70,
// 3930
82, 288, 70, 71,
// 3934
92, 87,
// 3936
82, 288, 82,
// 3939
82, 288, 82, 70,
// 3943
82, 288, 82, 70, 71,
// 3948
18, 288, 242, 82,
// 3952
18, 288, 242, 82, 70, 70,
// 3958
18, 288, 242, 82, 70, 70, 71,
// 3965
93, 88,
// 3967
86, 290, 68,
// 3970
86, 290, 68, 70,
// 3974
86, 290, 68, 70, 71,
// 3979
68, 290,
// 3981
68, 290, 70,
// 3984
68, 290, 70, 71,
// 3988
68, 290, 68,
// 3991
68, 290, 68, 70,
// 3995
94, 89,
// 3997
68, 290, 68, 70, 71,
// 4002
18, 290, 243, 68,
// 4006
18, 290, 243, 68, 70, 70,
// 4012
18, 290, 243, 68, 70, 70, 71,
// 4019
86, 292, 84,
// 4022
95, 90,
// 4024
86, 292, 84, 70,
// 4028
86, 292, 84, 70, 71,
// 4033
84, 292,
// 4035
84, 292, 70,
// 4038
84, 292, 70, 71,
// 4042
84, 292, 84,
// 4045
84, 292, 84, 70,
// 4049
84, 292, 84, 70, 71,
// 4054
18, 292, 244, 84,
// 4058
18, 292, 244, 84, 70, 70,
// 4064
18, 292, 244, 84, 70, 70, 71,
// 4071
86, 294, 26,
// 4074
86, 294, 26, 70,
// 4078
86, 294, 26, 70, 71,
// 4083
26, 294,
// 4085
26, 294, 70,
// 4088
26, 294, 70, 71,
// 4092
26, 294, 26,
// 4095
26, 294, 26, 70,
// 4099
26, 294, 26, 70, 71,
// 4104
18, 294, 245, 26,
// 4108
18, 294, 245, 26, 70, 70,
// 4114
18, 294, 245, 26, 70, 70, 71,
// 4121
86, 296, 23,
// 4124
86, 296, 23, 70,
// 4128
86, 296, 23, 70, 71,
// 4133
23, 296,
// 4135
23, 296, 70,
// 4138
23, 296, 70, 71,
// 4142
23, 296, 23,
// 4145
23, 296, 23, 70,
// 4149
23, 296, 23, 70, 71,
// 4154
18, 296, 246, 23,
// 4158
18, 296, 246, 23, 70, 70,
// 4164
18, 296, 246, 23, 70, 70, 71,
// 4171
83, 298, 73,
// 4174
83, 298, 73, 70,
// 4178
83, 298, 73, 70, 71,
// 4183
86, 300,
// 4185
86, 300, 70,
// 4188
86, 300, 70, 71,
// 4192
18, 300,
// 4194
18, 300, 70,
// 4197
18, 300, 70, 71,
// 4201
96, 96, 101,
// 4204
101, 101, 101,
// 4207
106, 106, 111,
// 4210
111, 111, 111,
// 4213
116, 116, 121,
// 4216
121, 121, 121,
// 4219
126, 126, 131,
// 4222
131, 131, 131,
// 4225
142, 142, 121,
// 4228
343, 343, 131,
// 4231
91, 91, 111,
// 4234
96, 98, 101,
// 4237
101, 103, 101,
// 4240
106, 108, 111,
// 4243
111, 113, 111,
// 4246
116, 118, 121,
// 4249
121, 123, 121,
// 4252
126, 128, 131,
// 4255
131, 133, 131,
// 4258
142, 195, 121,
// 4261
343, 88, 131,
// 4264
91, 93, 111,
// 4267
96, 99, 101,
// 4270
101, 104, 101,
// 4273
106, 109, 111,
// 4276
111, 114, 111,
// 4279
116, 119, 121,
// 4282
121, 124, 121,
// 4285
126, 129, 131,
// 4288
131, 134, 131,
// 4291
142, 224, 121,
// 4294
343, 89, 131,
// 4297
91, 94, 111,
// 4300
96, 100, 101,
// 4303
101, 105, 101,
// 4306
106, 110, 111,
// 4309
111, 115, 111,
// 4312
116, 120, 121,
// 4315
121, 125, 121,
// 4318
126, 130, 131,
// 4321
131, 135, 131,
// 4324
142, 225, 121,
// 4327
343, 90, 131,
// 4330
91, 95, 111,
// 4333
98, 96, 103,
// 4336
103, 101, 103,
// 4339
108, 106, 113,
// 4342
113, 111, 113,
// 4345
118, 116, 123,
// 4348
123, 121, 123,
// 4351
128, 126, 133,
// 4354
133, 131, 133,
// 4357
195, 142, 123,
// 4360
88, 343, 133,
// 4363
93, 91, 113,
// 4366
98, 98, 103,
// 4369
103, 103, 103,
// 4372
108, 108, 113,
// 4375
113, 113, 113,
// 4378
118, 118, 123,
// 4381
123, 123, 123,
// 4384
128, 128, 133,
// 4387
133, 133, 133,
// 4390
195, 195, 123,
// 4393
88, 88, 133,
// 4396
93, 93, 113,
// 4399
98, 99, 103,
// 4402
103, 104, 103,
// 4405
108, 109, 113,
// 4408
113, 114, 113,
// 4411
118, 119, 123,
// 4414
123, 124, 123,
// 4417
128, 129, 133,
// 4420
133, 134, 133,
// 4423
195, 224, 123,
// 4426
88, 89, 133,
// 4429
93, 94, 113,
// 4432
98, 100, 103,
// 4435
103, 105, 103,
// 4438
108, 110, 113,
// 4441
113, 115, 113,
// 4444
118, 120, 123,
// 4447
123, 125, 123,
// 4450
128, 130, 133,
// 4453
133, 135, 133,
// 4456
195, 225, 123,
// 4459
88, 90, 133,
// 4462
93, 95, 113,
// 4465
99, 96, 104,
// 4468
104, 101, 104,
// 4471
109, 106, 114,
// 4474
114, 111, 114,
// 4477
119, 116, 124,
// 4480
124, 121, 124,
// 4483
129, 126, 134,
// 4486
134, 131, 134,
// 4489
224, 142, 124,
// 4492
89, 343, 134,
// 4495
94, 91, 114,
// 4498
52, 52,
// 4500
99, 98, 104,
// 4503
104, 103, 104,
// 4506
109, 108, 114,
// 4509
114, 113, 114,
// 4512
119, 118, 124,
// 4515
124, 123, 124,
// 4518
129, 128, 134,
// 4521
134, 133, 134,
// 4524
224, 195, 124,
// 4527
89, 88, 134,
// 4530
91, 91,
// 4532
94, 93, 114,
// 4535
99, 99, 104,
// 4538
104, 104, 104,
// 4541
109, 109, 114,
// 4544
114, 114, 114,
// 4547
119, 119, 124,
// 4550
124, 124, 124,
// 4553
129, 129, 134,
// 4556
134, 134, 134,
// 4559
224, 224, 124,
// 4562
92, 92,
// 4564
89, 89, 134,
// 4567
94, 94, 114,
// 4570
99, 100, 104,
// 4573
104, 105, 104,
// 4576
109, 110, 114,
// 4579
114, 115, 114,
// 4582
119, 120, 124,
// 4585
124, 125, 124,
// 4588
129, 130, 134,
// 4591
134, 135, 134,
// 4594
93, 93,
// 4596
224, 225, 124,
// 4599
89, 90, 134,
// 4602
94, 95, 114,
// 4605
100, 96, 105,
// 4608
105, 101, 105,
// 4611
110, 106, 115,
// 4614
115, 111, 115,
// 4617
120, 116, 125,
// 4620
125, 121, 125,
// 4623
130, 126, 135,
// 4626
94, 94,
// 4628
135, 131, 135,
// 4631
225, 142, 125,
// 4634
90, 343, 135,
// 4637
95, 91, 115,
// 4640
100, 98, 105,
// 4643
105, 103, 105,
// 4646
110, 108, 115,
// 4649
115, 113, 115,
// 4652
120, 118, 125,
// 4655
125, 123, 125,
// 4658
95, 95,
// 4660
130, 128, 135,
// 4663
135, 133, 135,
// 4666
225, 195, 125,
// 4669
90, 88, 135,
// 4672
95, 93, 115,
// 4675
100, 99, 105,
// 4678
105, 104, 105,
// 4681
110, 109, 115,
// 4684
115, 114, 115,
// 4687
120, 119, 125,
// 4690
125, 124, 125,
// 4693
130, 129, 135,
// 4696
135, 134, 135,
// 4699
225, 224, 125,
// 4702
90, 89, 135,
// 4705
95, 94, 115,
// 4708
100, 100, 105,
// 4711
105, 105, 105,
// 4714
110, 110, 115,
// 4717
115, 115, 115,
// 4720
120, 120, 125,
// 4723
125, 125, 125,
// 4726
130, 130, 135,
// 4729
135, 135, 135,
// 4732
225, 225, 125,
// 4735
90, 90, 135,
// 4738
95, 95, 115,
// 4741
96, 96, 96, 101,
// 4745
101, 101, 101, 101,
// 4749
106, 106, 106, 111,
// 4753
111, 111, 111, 111,
// 4757
116, 116, 116, 121,
// 4761
121, 121, 121, 121,
// 4765
126, 126, 126, 131,
// 4769
131, 131, 131, 131,
// 4773
142, 142, 142, 121,
// 4777
343, 343, 343, 131,
// 4781
91, 91, 91, 111,
// 4785
96, 98, 98, 101,
// 4789
101, 103, 103, 101,
// 4793
106, 108, 108, 111,
// 4797
111, 113, 113, 111,
// 4801
116, 118, 118, 121,
// 4805
121, 123, 123, 121,
// 4809
126, 128, 128, 131,
// 4813
131, 133, 133, 131,
// 4817
142, 195, 195, 121,
// 4821
343, 88, 88, 131,
// 4825
91, 93, 93, 111,
// 4829
96, 99, 99, 101,
// 4833
101, 104, 104, 101,
// 4837
106, 109, 109, 111,
// 4841
111, 114, 114, 111,
// 4845
116, 119, 119, 121,
// 4849
121, 124, 124, 121,
// 4853
126, 129, 129, 131,
// 4857
131, 134, 134, 131,
// 4861
142, 224, 224, 121,
// 4865
343, 89, 89, 131,
// 4869
91, 94, 94, 111,
// 4873
96, 100, 100, 101,
// 4877
101, 105, 105, 101,
// 4881
106, 110, 110, 111,
// 4885
111, 115, 115, 111,
// 4889
116, 120, 120, 121,
// 4893
121, 125, 125, 121,
// 4897
126, 130, 130, 131,
// 4901
131, 135, 135, 131,
// 4905
142, 225, 225, 121,
// 4909
343, 90, 90, 131,
// 4913
91, 95, 95, 111,
// 4917
98, 96, 96, 103,
// 4921
103, 101, 101, 103,
// 4925
108, 106, 106, 113,
// 4929
113, 111, 111, 113,
// 4933
118, 116, 116, 123,
// 4937
123, 121, 121, 123,
// 4941
128, 126, 126, 133,
// 4945
133, 131, 131, 133,
// 4949
195, 142, 142, 123,
// 4953
88, 343, 343, 133,
// 4957
93, 91, 91, 113,
// 4961
98, 98, 98, 103,
// 4965
103, 103, 103, 103,
// 4969
108, 108, 108, 113,
// 4973
113, 113, 113, 113,
// 4977
118, 118, 118, 123,
// 4981
123, 123, 123, 123,
// 4985
128, 128, 128, 133,
// 4989
133, 133, 133, 133,
// 4993
195, 195, 195, 123,
// 4997
88, 88, 88, 133,
// 5001
93, 93, 93, 113,
// 5005
98, 99, 99, 103,
// 5009
103, 104, 104, 103,
// 5013
108, 109, 109, 113,
// 5017
113, 114, 114, 113,
// 5021
118, 119, 119, 123,
// 5025
123, 124, 124, 123,
// 5029
128, 129, 129, 133,
// 5033
133, 134, 134, 133,
// 5037
195, 224, 224, 123,
// 5041
88, 89, 89, 133,
// 5045
93, 94, 94, 113,
// 5049
98, 100, 100, 103,
// 5053
103, 105, 105, 103,
// 5057
108, 110, 110, 113,
// 5061
113, 115, 115, 113,
// 5065
118, 120, 120, 123,
// 5069
123, 125, 125, 123,
// 5073
128, 130, 130, 133,
// 5077
133, 135, 135, 133,
// 5081
195, 225, 225, 123,
// 5085
88, 90, 90, 133,
// 5089
93, 95, 95, 113,
// 5093
99, 96, 96, 104,
// 5097
104, 101, 101, 104,
// 5101
109, 106, 106, 114,
// 5105
114, 111, 111, 114,
// 5109
119, 116, 116, 124,
// 5113
124, 121, 121, 124,
// 5117
129, 126, 126, 134,
// 5121
134, 131, 131, 134,
// 5125
224, 142, 142, 124,
// 5129
89, 343, 343, 134,
// 5133
94, 91, 91, 114,
// 5137
99, 98, 98, 104,
// 5141
104, 103, 103, 104,
// 5145
109, 108, 108, 114,
// 5149
114, 113, 113, 114,
// 5153
119, 118, 118, 124,
// 5157
124, 123, 123, 124,
// 5161
129, 128, 128, 134,
// 5165
134, 133, 133, 134,
// 5169
224, 195, 195, 124,
// 5173
89, 88, 88, 134,
// 5177
94, 93, 93, 114,
// 5181
99, 99, 99, 104,
// 5185
104, 104, 104, 104,
// 5189
109, 109, 109, 114,
// 5193
114, 114, 114, 114,
// 5197
119, 119, 119, 124,
// 5201
124, 124, 124, 124,
// 5205
129, 129, 129, 134,
// 5209
134, 134, 134, 134,
// 5213
224, 224, 224, 124,
// 5217
89, 89, 89, 134,
// 5221
94, 94, 94, 114,
// 5225
99, 100, 100, 104,
// 5229
104, 105, 105, 104,
// 5233
109, 110, 110, 114,
// 5237
114, 115, 115, 114,
// 5241
119, 120, 120, 124,
// 5245
124, 125, 125, 124,
// 5249
129, 130, 130, 134,
// 5253
134, 135, 135, 134,
// 5257
224, 225, 225, 124,
// 5261
89, 90, 90, 134,
// 5265
94, 95, 95, 114,
// 5269
100, 96, 96, 105,
// 5273
105, 101, 101, 105,
// 5277
110, 106, 106, 115,
// 5281
115, 111, 111, 115,
// 5285
120, 116, 116, 125,
// 5289
125, 121, 121, 125,
// 5293
130, 126, 126, 135,
// 5297
135, 131, 131, 135,
// 5301
225, 142, 142, 125,
// 5305
90, 343, 343, 135,
// 5309
95, 91, 91, 115,
// 5313
100, 98, 98, 105,
// 5317
105, 103, 103, 105,
// 5321
110, 108, 108, 115,
// 5325
115, 113, 113, 115,
// 5329
120, 118, 118, 125,
// 5333
125, 123, 123, 125,
// 5337
130, 128, 128, 135,
// 5341
135, 133, 133, 135,
// 5345
225, 195, 195, 125,
// 5349
90, 88, 88, 135,
// 5353
95, 93, 93, 115,
// 5357
100, 99, 99, 105,
// 5361
105, 104, 104, 105,
// 5365
110, 109, 109, 115,
// 5369
115, 114, 114, 115,
// 5373
120, 119, 119, 125,
// 5377
125, 124, 124, 125,
// 5381
130, 129, 129, 135,
// 5385
135, 134, 134, 135,
// 5389
225, 224, 224, 125,
// 5393
90, 89, 89, 135,
// 5397
95, 94, 94, 115,
// 5401
100, 100, 100, 105,
// 5405
105, 105, 105, 105,
// 5409
110, 110, 110, 115,
// 5413
115, 115, 115, 115,
// 5417
120, 120, 120, 125,
// 5421
125, 125, 125, 125,
// 5425
130, 130, 130, 135,
// 5429
135, 135, 135, 135,
// 5433
225, 225, 225, 125,
// 5437
90, 90, 90, 135,
// 5441
95, 95, 95, 115,
// 5445
195, 301, 77, 65,
// 5449
118, 301, 77, 65,
// 5453
123, 301, 77, 65,
// 5457
195, 301, 77, 26,
// 5461
118, 301, 77, 26,
// 5465
123, 301, 77, 26,
// 5469
195, 302, 77, 116,
// 5473
118, 302, 77, 116,
// 5477
123, 302, 77, 116,
// 5481
195, 302, 77, 142,
// 5485
118, 302, 77, 142,
// 5489
123, 302, 77, 142,
// 5493
195, 303, 77, 116,
// 5497
118, 303, 77, 116,
// 5501
123, 303, 77, 116,
// 5505
195, 303, 77, 142,
// 5509
118, 303, 77, 142,
// 5513
123, 303, 77, 142,
// 5517
195, 304, 77, 118,
// 5521
118, 304, 77, 118,
// 5525
123, 304, 77, 118,
// 5529
195, 304, 77, 195,
// 5533
118, 304, 77, 195,
// 5537
123, 304, 77, 195,
// 5541
195, 305, 77, 118,
// 5545
118, 305, 77, 118,
// 5549
123, 305, 77, 118,
// 5553
195, 305, 77, 195,
// 5557
118, 305, 77, 195,
// 5561
123, 305, 77, 195,
// 5565
26, 306, 77, 116,
// 5569
26, 307, 77, 118,
// 5573
26, 306, 77, 142,
// 5577
52, 19,
// 5579
26, 307, 77, 195,
// 5583
195, 302, 116,
// 5586
118, 302, 116,
// 5589
123, 302, 116,
// 5592
195, 304, 118,
// 5595
118, 304, 118,
// 5598
123, 304, 118,
// 5601
195, 301, 65,
// 5604
118, 301, 65,
// 5607
123, 301, 65,
// 5610
91, 96,
// 5612
26, 306, 116,
// 5615
26, 307, 118,
// 5618
195, 303, 116,
// 5621
118, 303, 116,
// 5624
123, 303, 116,
// 5627
195, 305, 118,
// 5630
118, 305, 118,
// 5633
123, 305, 118,
// 5636
92, 97,
// 5638
195, 308, 65,
// 5641
118, 308, 65,
// 5644
123, 308, 65,
// 5647
195, 309, 116,
// 5650
118, 309, 116,
// 5653
123, 309, 116,
// 5656
93, 98,
// 5658
195, 310, 116,
// 5661
118, 310, 116,
// 5664
123, 310, 116,
// 5667
195, 311, 118,
// 5670
118, 311, 118,
// 5673
123, 311, 118,
// 5676
94, 99,
// 5678
195, 312, 118,
// 5681
118, 312, 118,
// 5684
123, 312, 118,
// 5687
195, 313, 65,
// 5690
118, 313, 65,
// 5693
123, 313, 65,
// 5696
95, 100,
// 5698
195, 314, 65,
// 5701
118, 314, 65,
// 5704
123, 314, 65,
// 5707
26, 315, 116,
// 5710
26, 316, 118,
// 5713
86, 317, 116, 195,
// 5717
86, 317, 116, 118,
// 5721
86, 317, 116, 123,
// 5725
86, 318, 118, 195,
// 5729
86, 318, 118, 118,
// 5733
86, 318, 118, 123,
// 5737
86, 319, 65, 195,
// 5741
86, 319, 65, 118,
// 5745
86, 319, 65, 123,
// 5749
86, 321, 116, 195,
// 5753
86, 321, 116, 118,
// 5757
86, 321, 116, 123,
// 5761
86, 322, 118, 195,
// 5765
86, 322, 118, 118,
// 5769
86, 322, 118, 123,
// 5773
86, 323, 116, 26,
// 5777
86, 324, 118, 26,
// 5781
86, 320, 65, 195,
// 5785
86, 320, 65, 118,
// 5789
86, 320, 65, 123,
// 5793
86, 309, 116, 195,
// 5797
86, 309, 116, 118,
// 5801
86, 309, 116, 123,
// 5805
86, 312, 118, 195,
// 5809
86, 312, 118, 118,
// 5813
86, 312, 118, 123,
// 5817
86, 313, 65, 195,
// 5821
86, 313, 65, 118,
// 5825
86, 313, 65, 123,
// 5829
86, 314, 65, 195,
// 5833
86, 314, 65, 118,
// 5837
86, 314, 65, 123,
// 5841
86, 310, 116, 195,
// 5845
86, 310, 116, 118,
// 5849
86, 310, 116, 123,
// 5853
86, 311, 118, 195,
// 5857
86, 311, 118, 118,
// 5861
86, 311, 118, 123,
// 5865
86, 315, 116, 26,
// 5869
86, 316, 118, 26,
// 5873
65, 301,
// 5875
65, 302,
// 5877
65, 304,
// 5879
116, 302,
// 5881
118, 304,
// 5883
79, 303,
// 5885
65, 308,
// 5887
65, 303,
// 5889
65, 305,
// 5891
65, 306,
// 5893
65, 307,
// 5895
116, 305,
// 5897
116, 306,
// 5899
116, 307,
// 5901
79, 305,
// 5903
79, 307,
// 5905
65, 319,
// 5907
65, 320,
// 5909
65, 317,
// 5911
65, 322,
// 5913
65, 321,
// 5915
65, 318,
// 5917
65, 323,
// 5919
65, 324,
// 5921
116, 317,
// 5923
116, 318,
// 5925
116, 323,
// 5927
116, 324,
// 5929
118, 322,
// 5931
79, 321,
// 5933
79, 318,
// 5935
79, 324,
// 5937
65, 313,
// 5939
65, 314,
// 5941
65, 309,
// 5943
65, 311,
// 5945
65, 310,
// 5947
65, 312,
// 5949
65, 315,
// 5951
65, 316,
// 5953
116, 309,
// 5955
116, 312,
// 5957
116, 315,
// 5959
116, 316,
// 5961
118, 311,
// 5963
79, 310,
// 5965
79, 312,
// 5967
79, 316,
// 5969
93, 302, 77, 116,
// 5973
93, 304, 77, 118,
// 5977
93, 301, 77, 65,
// 5981
93, 303, 77, 116,
// 5985
93, 305, 77, 118,
// 5989
93, 302, 77, 142,
// 5993
93, 303, 77, 142,
// 5997
93, 304, 77, 195,
// 6001
93, 305, 77, 195,
// 6005
93, 301, 77, 26,
// 6009
93, 302, 116,
// 6012
93, 304, 118,
// 6015
93, 301, 65,
// 6018
93, 303, 116,
// 6021
93, 305, 118,
// 6024
93, 308, 65,
// 6027
93, 309, 116,
// 6030
93, 310, 116,
// 6033
93, 311, 118,
// 6036
93, 312, 118,
// 6039
93, 313, 65,
// 6042
93, 314, 65,
// 6045
86, 317, 116, 93,
// 6049
86, 318, 118, 93,
// 6053
86, 319, 65, 93,
// 6057
86, 320, 65, 93,
// 6061
86, 321, 116, 93,
// 6065
86, 322, 118, 93,
// 6069
86, 309, 116, 93,
// 6073
86, 312, 118, 93,
// 6077
86, 313, 65, 93,
// 6081
86, 314, 65, 93,
// 6085
86, 310, 116, 93,
// 6089
86, 311, 118, 93,
// 6093
66, 66, 79,
// 6096
66, 66, 79, 79,
// 6100
66, 66, 79, 79, 79,
// 6105
66, 66,
// 6107
18, 75,
// 6109
65, 74, 82, 326, 327,
// 6114
86, 21,
// 6116
21,
// 6117
18, 21,
// 6119
86, 21, 65,
// 6122
86, 21, 22, 328,
// 6126
74,
// 6127
72, 79,
// 6129
72, 79, 79,
// 6132
72, 79, 79, 79,
// 6136
72, 330,
// 6138
72, 330, 330,
// 6141
72, 330, 330, 330,
// 6145
52, 80,
// 6147
195, 302, 77, 142, 26,
// 6152
195, 302, 77, 142, 142, 142,
// 6158
118, 302, 77, 142, 26,
// 6163
118, 302, 77, 142, 142, 142,
// 6169
123, 302, 77, 142, 26,
// 6174
123, 302, 77, 142, 142, 142,
// 6180
26, 306, 77, 142, 26,
// 6185
26, 306, 77, 142, 142, 142,
// 6191
195, 301, 77, 26, 26,
// 6196
91, 101,
// 6198
195, 301, 77, 26, 26, 26,
// 6204
118, 301, 77, 26, 26,
// 6209
118, 301, 77, 26, 26, 26,
// 6215
123, 301, 77, 26, 26,
// 6220
123, 301, 77, 26, 26, 26,
// 6226
195, 304, 77, 195, 195, 195,
// 6232
195, 304, 77, 195, 26,
// 6237
118, 304, 77, 195, 195, 195,
// 6243
118, 304, 77, 195, 26,
// 6248
123, 304, 77, 195, 195, 195,
// 6254
92, 102,
// 6256
123, 304, 77, 195, 26,
// 6261
195, 303, 77, 142, 26,
// 6266
195, 303, 77, 142, 26, 26,
// 6272
118, 303, 77, 142, 26,
// 6277
118, 303, 77, 142, 26, 26,
// 6283
123, 303, 77, 142, 26,
// 6288
123, 303, 77, 142, 26, 26,
// 6294
195, 305, 77, 195, 26,
// 6299
195, 305, 77, 195, 142, 142,
// 6305
118, 305, 77, 195, 26,
// 6310
93, 103,
// 6312
118, 305, 77, 195, 142, 142,
// 6318
123, 305, 77, 195, 26,
// 6323
123, 305, 77, 195, 142, 142,
// 6329
26, 307, 77, 195, 26,
// 6334
26, 307, 77, 195, 142, 142,
// 6340
94, 104,
// 6342
95, 105,
// 6344
86, 317, 116, 65, 195,
// 6349
86, 317, 116, 65, 118,
// 6354
86, 317, 116, 65, 123,
// 6359
86, 323, 116, 65, 26,
// 6364
86, 319, 65, 65, 195,
// 6369
86, 319, 65, 65, 118,
// 6374
86, 319, 65, 65, 123,
// 6379
86, 321, 116, 65, 195,
// 6384
86, 321, 116, 65, 118,
// 6389
86, 321, 116, 65, 123,
// 6394
86, 318, 118, 65, 195,
// 6399
86, 318, 118, 65, 118,
// 6404
86, 318, 118, 65, 123,
// 6409
86, 324, 118, 65, 26,
// 6414
86, 322, 118, 65, 195,
// 6419
86, 322, 118, 65, 118,
// 6424
86, 322, 118, 65, 123,
// 6429
195, 331, 116, 65,
// 6433
118, 331, 116, 65,
// 6437
123, 331, 116, 65,
// 6441
195, 332, 118, 65,
// 6445
118, 332, 118, 65,
// 6449
123, 332, 118, 65,
// 6453
26, 333, 116, 65,
// 6457
26, 334, 118, 65,
// 6461
195, 335, 116, 65,
// 6465
118, 335, 116, 65,
// 6469
123, 335, 116, 65,
// 6473
195, 336, 118, 65,
// 6477
118, 336, 118, 65,
// 6481
123, 336, 118, 65,
// 6485
26, 337, 116, 65,
// 6489
26, 338, 118, 65,
// 6493
65, 331,
// 6495
116, 331,
// 6497
79, 332,
// 6499
65, 332,
// 6501
116, 332,
// 6503
65, 333,
// 6505
116, 333,
// 6507
65, 334,
// 6509
116, 334,
// 6511
79, 334,
// 6513
65, 339,
// 6515
116, 339,
// 6517
65, 340,
// 6519
116, 340,
// 6521
65, 341,
// 6523
116, 341,
// 6525
65, 342,
// 6527
116, 342,
// 6529
79, 340,
// 6531
79, 342,
// 6533
65, 335,
// 6535
116, 335,
// 6537
65, 336,
// 6539
116, 336,
// 6541
65, 337,
// 6543
116, 337,
// 6545
65, 338,
// 6547
116, 338,
// 6549
79, 336,
// 6551
79, 338,
// 6553
66, 66, 82,
// 6556
20, 20, 82,
// 6559
2, 2, 82,
// 6562
20, 20,
// 6564
65,
// 6565
65, 0,
// 6567
1, 1, 82,
// 6570
0, 0,
// 6572
123, 65,
// 6574
65, 123,
// 6576
65, 123, 82,
// 6579
82, 123,
// 6581
123,
// 6582
4, 4,
// 6584
0, 0, 82,
// 6587
4, 4, 82,
// 6590
65, 65, 82,
// 6593
5, 5, 5, 82, 82,
// 6598
76, 76, 82, 82,
// 6602
76, 81, 82, 82,
// 6606
81, 76, 82, 82,
// 6610
81, 81, 82, 82,
// 6614
82, 103, 103,
// 6617
65, 98, 98,
// 6620
65, 103, 98,
// 6623
65, 98, 103,
// 6626
82, 103, 103, 82,
// 6630
65, 98, 98, 65,
// 6634
65, 103, 98, 65,
// 6638
65, 98, 103, 65,
// 6642
52, 78,
// 6644
82, 82, 82,
// 6647
65, 82, 82,
// 6650
82, 82, 82, 82,
// 6654
65, 82, 82, 65,
// 6658
91, 106,
// 6660
82, 111, 111, 82,
// 6664
65, 106, 106, 65,
// 6668
92, 107,
// 6670
93, 108,
// 6672
94, 109,
// 6674
95, 110,
// 6676
52, 85,
// 6678
91, 111,
// 6680
92, 112,
// 6682
93, 113,
// 6684
94, 114,
// 6686
95, 115,
};
static const OpenCLBuiltinStruct BuiltinTable[] = {
// 1: convert_float2, convert_float2_rte, convert_float2_rtn, convert_float2_rtp, convert_float2_rtz,
{ 0, 2, 0, 1, 0, 23, 31 },
{ 114, 2, 0, 1, 0, 23, 31 },
{ 194, 2, 0, 1, 0, 23, 31 },
{ 278, 2, 0, 1, 0, 23, 31 },
{ 362, 2, 0, 1, 0, 23, 31 },
{ 446, 2, 0, 1, 0, 23, 31 },
{ 530, 2, 0, 1, 0, 23, 31 },
{ 606, 2, 0, 1, 0, 23, 31 },
{ 686, 2, 0, 1, 0, 23, 31 },
{ 770, 2, 0, 1, 0, 23, 31 },
{ 1316, 2, 0, 1, 0, 23, 31 },
// 12: convert_half_rtn, convert_half_rtp, convert_half_rtz, convert_half, convert_half_rte,
{ 2, 2, 0, 1, 0, 23, 31 },
{ 14, 2, 0, 1, 0, 23, 31 },
{ 30, 2, 0, 1, 0, 23, 31 },
{ 44, 2, 0, 1, 0, 23, 31 },
{ 3696, 2, 0, 1, 0, 23, 31 },
{ 3880, 2, 0, 1, 0, 23, 31 },
{ 4498, 2, 0, 1, 0, 23, 31 },
{ 5577, 2, 0, 1, 0, 23, 31 },
{ 6145, 2, 0, 1, 0, 23, 31 },
{ 6642, 2, 0, 1, 0, 23, 31 },
{ 6676, 2, 0, 1, 0, 23, 31 },
// 23: convert_half2_rtn, convert_half2_rtp, convert_half2_rtz, convert_half2, convert_half2_rte,
{ 4, 2, 0, 1, 0, 23, 31 },
{ 16, 2, 0, 1, 0, 23, 31 },
{ 32, 2, 0, 1, 0, 23, 31 },
{ 46, 2, 0, 1, 0, 23, 31 },
{ 3698, 2, 0, 1, 0, 23, 31 },
{ 3911, 2, 0, 1, 0, 23, 31 },
{ 4530, 2, 0, 1, 0, 23, 31 },
{ 5610, 2, 0, 1, 0, 23, 31 },
{ 6196, 2, 0, 1, 0, 23, 31 },
{ 6658, 2, 0, 1, 0, 23, 31 },
{ 6678, 2, 0, 1, 0, 23, 31 },
// 34: convert_half3_rtn, convert_half3_rtp, convert_half3_rtz, convert_half3, convert_half3_rte,
{ 6, 2, 0, 1, 0, 23, 31 },
{ 20, 2, 0, 1, 0, 23, 31 },
{ 34, 2, 0, 1, 0, 23, 31 },
{ 50, 2, 0, 1, 0, 23, 31 },
{ 3711, 2, 0, 1, 0, 23, 31 },
{ 3934, 2, 0, 1, 0, 23, 31 },
{ 4562, 2, 0, 1, 0, 23, 31 },
{ 5636, 2, 0, 1, 0, 23, 31 },
{ 6254, 2, 0, 1, 0, 23, 31 },
{ 6668, 2, 0, 1, 0, 23, 31 },
{ 6680, 2, 0, 1, 0, 23, 31 },
// 45: convert_half4_rtn, convert_half4_rtp, convert_half4_rtz, convert_half4, convert_half4_rte,
{ 8, 2, 0, 1, 0, 23, 31 },
{ 22, 2, 0, 1, 0, 23, 31 },
{ 36, 2, 0, 1, 0, 23, 31 },
{ 52, 2, 0, 1, 0, 23, 31 },
{ 3713, 2, 0, 1, 0, 23, 31 },
{ 3965, 2, 0, 1, 0, 23, 31 },
{ 4594, 2, 0, 1, 0, 23, 31 },
{ 5656, 2, 0, 1, 0, 23, 31 },
{ 6310, 2, 0, 1, 0, 23, 31 },
{ 6670, 2, 0, 1, 0, 23, 31 },
{ 6682, 2, 0, 1, 0, 23, 31 },
// 56: convert_half8_rtn, convert_half8_rtp, convert_half8_rtz, convert_half8, convert_half8_rte,
{ 10, 2, 0, 1, 0, 23, 31 },
{ 24, 2, 0, 1, 0, 23, 31 },
{ 38, 2, 0, 1, 0, 23, 31 },
{ 54, 2, 0, 1, 0, 23, 31 },
{ 3715, 2, 0, 1, 0, 23, 31 },
{ 3995, 2, 0, 1, 0, 23, 31 },
{ 4626, 2, 0, 1, 0, 23, 31 },
{ 5676, 2, 0, 1, 0, 23, 31 },
{ 6340, 2, 0, 1, 0, 23, 31 },
{ 6672, 2, 0, 1, 0, 23, 31 },
{ 6684, 2, 0, 1, 0, 23, 31 },
// 67: convert_half16_rtn, convert_half16_rtp, convert_half16_rtz, convert_half16, convert_half16_rte,
{ 12, 2, 0, 1, 0, 23, 31 },
{ 26, 2, 0, 1, 0, 23, 31 },
{ 40, 2, 0, 1, 0, 23, 31 },
{ 56, 2, 0, 1, 0, 23, 31 },
{ 3717, 2, 0, 1, 0, 23, 31 },
{ 4022, 2, 0, 1, 0, 23, 31 },
{ 4658, 2, 0, 1, 0, 23, 31 },
{ 5696, 2, 0, 1, 0, 23, 31 },
{ 6342, 2, 0, 1, 0, 23, 31 },
{ 6674, 2, 0, 1, 0, 23, 31 },
{ 6686, 2, 0, 1, 0, 23, 31 },
// 78: convert_float3, convert_float3_rte, convert_float3_rtn, convert_float3_rtp, convert_float3_rtz,
{ 18, 2, 0, 1, 0, 23, 31 },
{ 124, 2, 0, 1, 0, 23, 31 },
{ 208, 2, 0, 1, 0, 23, 31 },
{ 284, 2, 0, 1, 0, 23, 31 },
{ 364, 2, 0, 1, 0, 23, 31 },
{ 448, 2, 0, 1, 0, 23, 31 },
{ 532, 2, 0, 1, 0, 23, 31 },
{ 616, 2, 0, 1, 0, 23, 31 },
{ 700, 2, 0, 1, 0, 23, 31 },
{ 776, 2, 0, 1, 0, 23, 31 },
{ 1635, 2, 0, 1, 0, 23, 31 },
// 89: convert_float4, convert_float4_rte, convert_float4_rtn, convert_float4_rtp, convert_float4_rtz,
{ 28, 2, 0, 1, 0, 23, 31 },
{ 126, 2, 0, 1, 0, 23, 31 },
{ 210, 2, 0, 1, 0, 23, 31 },
{ 294, 2, 0, 1, 0, 23, 31 },
{ 378, 2, 0, 1, 0, 23, 31 },
{ 454, 2, 0, 1, 0, 23, 31 },
{ 534, 2, 0, 1, 0, 23, 31 },
{ 618, 2, 0, 1, 0, 23, 31 },
{ 702, 2, 0, 1, 0, 23, 31 },
{ 786, 2, 0, 1, 0, 23, 31 },
{ 1949, 2, 0, 1, 0, 23, 31 },
// 100: convert_float8, convert_float8_rte, convert_float8_rtn, convert_float8_rtp, convert_float8_rtz,
{ 42, 2, 0, 1, 0, 23, 31 },
{ 132, 2, 0, 1, 0, 23, 31 },
{ 212, 2, 0, 1, 0, 23, 31 },
{ 296, 2, 0, 1, 0, 23, 31 },
{ 380, 2, 0, 1, 0, 23, 31 },
{ 464, 2, 0, 1, 0, 23, 31 },
{ 548, 2, 0, 1, 0, 23, 31 },
{ 624, 2, 0, 1, 0, 23, 31 },
{ 704, 2, 0, 1, 0, 23, 31 },
{ 788, 2, 0, 1, 0, 23, 31 },
{ 2487, 2, 0, 1, 0, 23, 31 },
// 111: convert_float16, convert_float16_rte, convert_float16_rtn, convert_float16_rtp, convert_float16_rtz,
{ 48, 2, 0, 1, 0, 23, 31 },
{ 142, 2, 0, 1, 0, 23, 31 },
{ 226, 2, 0, 1, 0, 23, 31 },
{ 302, 2, 0, 1, 0, 23, 31 },
{ 382, 2, 0, 1, 0, 23, 31 },
{ 466, 2, 0, 1, 0, 23, 31 },
{ 550, 2, 0, 1, 0, 23, 31 },
{ 634, 2, 0, 1, 0, 23, 31 },
{ 718, 2, 0, 1, 0, 23, 31 },
{ 794, 2, 0, 1, 0, 23, 31 },
{ 3029, 2, 0, 1, 0, 23, 31 },
// 122: convert_float_rte, convert_float_rtn, convert_float_rtp, convert_float_rtz, convert_float,
{ 58, 2, 0, 1, 0, 23, 31 },
{ 108, 2, 0, 1, 0, 23, 31 },
{ 192, 2, 0, 1, 0, 23, 31 },
{ 276, 2, 0, 1, 0, 23, 31 },
{ 360, 2, 0, 1, 0, 23, 31 },
{ 436, 2, 0, 1, 0, 23, 31 },
{ 516, 2, 0, 1, 0, 23, 31 },
{ 600, 2, 0, 1, 0, 23, 31 },
{ 684, 2, 0, 1, 0, 23, 31 },
{ 768, 2, 0, 1, 0, 23, 31 },
{ 1288, 2, 0, 1, 0, 23, 31 },
// 133: convert_char, convert_char_rte, convert_char_rtn, convert_char_rtp, convert_char_rtz, convert_char_sat, convert_char_sat_rte, convert_char_sat_rtn, convert_char_sat_rtp, convert_char_sat_rtz,
{ 60, 2, 0, 1, 0, 23, 31 },
{ 72, 2, 0, 1, 0, 23, 31 },
{ 84, 2, 0, 1, 0, 23, 31 },
{ 96, 2, 0, 1, 0, 23, 31 },
{ 110, 2, 0, 1, 0, 23, 31 },
{ 128, 2, 0, 1, 0, 23, 31 },
{ 144, 2, 0, 1, 0, 23, 31 },
{ 156, 2, 0, 1, 0, 23, 31 },
{ 168, 2, 0, 1, 0, 23, 31 },
{ 180, 2, 0, 1, 0, 23, 31 },
{ 196, 2, 0, 1, 0, 23, 31 },
// 144: convert_char2, convert_char2_rte, convert_char2_rtn, convert_char2_rtp, convert_char2_rtz, convert_char2_sat, convert_char2_sat_rte, convert_char2_sat_rtn, convert_char2_sat_rtp, convert_char2_sat_rtz,
{ 62, 2, 0, 1, 0, 23, 31 },
{ 74, 2, 0, 1, 0, 23, 31 },
{ 86, 2, 0, 1, 0, 23, 31 },
{ 98, 2, 0, 1, 0, 23, 31 },
{ 112, 2, 0, 1, 0, 23, 31 },
{ 130, 2, 0, 1, 0, 23, 31 },
{ 146, 2, 0, 1, 0, 23, 31 },
{ 158, 2, 0, 1, 0, 23, 31 },
{ 170, 2, 0, 1, 0, 23, 31 },
{ 182, 2, 0, 1, 0, 23, 31 },
{ 198, 2, 0, 1, 0, 23, 31 },
// 155: convert_char3, convert_char3_rte, convert_char3_rtn, convert_char3_rtp, convert_char3_rtz, convert_char3_sat, convert_char3_sat_rte, convert_char3_sat_rtn, convert_char3_sat_rtp, convert_char3_sat_rtz,
{ 64, 2, 0, 1, 0, 23, 31 },
{ 76, 2, 0, 1, 0, 23, 31 },
{ 88, 2, 0, 1, 0, 23, 31 },
{ 100, 2, 0, 1, 0, 23, 31 },
{ 116, 2, 0, 1, 0, 23, 31 },
{ 134, 2, 0, 1, 0, 23, 31 },
{ 148, 2, 0, 1, 0, 23, 31 },
{ 160, 2, 0, 1, 0, 23, 31 },
{ 172, 2, 0, 1, 0, 23, 31 },
{ 184, 2, 0, 1, 0, 23, 31 },
{ 200, 2, 0, 1, 0, 23, 31 },
// 166: convert_char4, convert_char4_rte, convert_char4_rtn, convert_char4_rtp, convert_char4_rtz, convert_char4_sat, convert_char4_sat_rte, convert_char4_sat_rtn, convert_char4_sat_rtp, convert_char4_sat_rtz,
{ 66, 2, 0, 1, 0, 23, 31 },
{ 78, 2, 0, 1, 0, 23, 31 },
{ 90, 2, 0, 1, 0, 23, 31 },
{ 102, 2, 0, 1, 0, 23, 31 },
{ 118, 2, 0, 1, 0, 23, 31 },
{ 136, 2, 0, 1, 0, 23, 31 },
{ 150, 2, 0, 1, 0, 23, 31 },
{ 162, 2, 0, 1, 0, 23, 31 },
{ 174, 2, 0, 1, 0, 23, 31 },
{ 186, 2, 0, 1, 0, 23, 31 },
{ 202, 2, 0, 1, 0, 23, 31 },
// 177: convert_char8, convert_char8_rte, convert_char8_rtn, convert_char8_rtp, convert_char8_rtz, convert_char8_sat, convert_char8_sat_rte, convert_char8_sat_rtn, convert_char8_sat_rtp, convert_char8_sat_rtz,
{ 68, 2, 0, 1, 0, 23, 31 },
{ 80, 2, 0, 1, 0, 23, 31 },
{ 92, 2, 0, 1, 0, 23, 31 },
{ 104, 2, 0, 1, 0, 23, 31 },
{ 120, 2, 0, 1, 0, 23, 31 },
{ 138, 2, 0, 1, 0, 23, 31 },
{ 152, 2, 0, 1, 0, 23, 31 },
{ 164, 2, 0, 1, 0, 23, 31 },
{ 176, 2, 0, 1, 0, 23, 31 },
{ 188, 2, 0, 1, 0, 23, 31 },
{ 204, 2, 0, 1, 0, 23, 31 },
// 188: convert_char16, convert_char16_rte, convert_char16_rtn, convert_char16_rtp, convert_char16_rtz, convert_char16_sat, convert_char16_sat_rte, convert_char16_sat_rtn, convert_char16_sat_rtp, convert_char16_sat_rtz,
{ 70, 2, 0, 1, 0, 23, 31 },
{ 82, 2, 0, 1, 0, 23, 31 },
{ 94, 2, 0, 1, 0, 23, 31 },
{ 106, 2, 0, 1, 0, 23, 31 },
{ 122, 2, 0, 1, 0, 23, 31 },
{ 140, 2, 0, 1, 0, 23, 31 },
{ 154, 2, 0, 1, 0, 23, 31 },
{ 166, 2, 0, 1, 0, 23, 31 },
{ 178, 2, 0, 1, 0, 23, 31 },
{ 190, 2, 0, 1, 0, 23, 31 },
{ 206, 2, 0, 1, 0, 23, 31 },
// 199: convert_uchar, convert_uchar_rte, convert_uchar_rtn, convert_uchar_rtp, convert_uchar_rtz, convert_uchar_sat, convert_uchar_sat_rte, convert_uchar_sat_rtn, convert_uchar_sat_rtp, convert_uchar_sat_rtz,
{ 214, 2, 0, 1, 0, 23, 31 },
{ 228, 2, 0, 1, 0, 23, 31 },
{ 240, 2, 0, 1, 0, 23, 31 },
{ 252, 2, 0, 1, 0, 23, 31 },
{ 264, 2, 0, 1, 0, 23, 31 },
{ 280, 2, 0, 1, 0, 23, 31 },
{ 298, 2, 0, 1, 0, 23, 31 },
{ 312, 2, 0, 1, 0, 23, 31 },
{ 324, 2, 0, 1, 0, 23, 31 },
{ 336, 2, 0, 1, 0, 23, 31 },
{ 348, 2, 0, 1, 0, 23, 31 },
// 210: convert_uchar2, convert_uchar2_rte, convert_uchar2_rtn, convert_uchar2_rtp, convert_uchar2_rtz, convert_uchar2_sat, convert_uchar2_sat_rte, convert_uchar2_sat_rtn, convert_uchar2_sat_rtp, convert_uchar2_sat_rtz,
{ 216, 2, 0, 1, 0, 23, 31 },
{ 230, 2, 0, 1, 0, 23, 31 },
{ 242, 2, 0, 1, 0, 23, 31 },
{ 254, 2, 0, 1, 0, 23, 31 },
{ 266, 2, 0, 1, 0, 23, 31 },
{ 282, 2, 0, 1, 0, 23, 31 },
{ 300, 2, 0, 1, 0, 23, 31 },
{ 314, 2, 0, 1, 0, 23, 31 },
{ 326, 2, 0, 1, 0, 23, 31 },
{ 338, 2, 0, 1, 0, 23, 31 },
{ 350, 2, 0, 1, 0, 23, 31 },
// 221: convert_uchar3, convert_uchar3_rte, convert_uchar3_rtn, convert_uchar3_rtp, convert_uchar3_rtz, convert_uchar3_sat, convert_uchar3_sat_rte, convert_uchar3_sat_rtn, convert_uchar3_sat_rtp, convert_uchar3_sat_rtz,
{ 218, 2, 0, 1, 0, 23, 31 },
{ 232, 2, 0, 1, 0, 23, 31 },
{ 244, 2, 0, 1, 0, 23, 31 },
{ 256, 2, 0, 1, 0, 23, 31 },
{ 268, 2, 0, 1, 0, 23, 31 },
{ 286, 2, 0, 1, 0, 23, 31 },
{ 304, 2, 0, 1, 0, 23, 31 },
{ 316, 2, 0, 1, 0, 23, 31 },
{ 328, 2, 0, 1, 0, 23, 31 },
{ 340, 2, 0, 1, 0, 23, 31 },
{ 352, 2, 0, 1, 0, 23, 31 },
// 232: convert_uchar4, convert_uchar4_rte, convert_uchar4_rtn, convert_uchar4_rtp, convert_uchar4_rtz, convert_uchar4_sat, convert_uchar4_sat_rte, convert_uchar4_sat_rtn, convert_uchar4_sat_rtp, convert_uchar4_sat_rtz,
{ 220, 2, 0, 1, 0, 23, 31 },
{ 234, 2, 0, 1, 0, 23, 31 },
{ 246, 2, 0, 1, 0, 23, 31 },
{ 258, 2, 0, 1, 0, 23, 31 },
{ 270, 2, 0, 1, 0, 23, 31 },
{ 288, 2, 0, 1, 0, 23, 31 },
{ 306, 2, 0, 1, 0, 23, 31 },
{ 318, 2, 0, 1, 0, 23, 31 },
{ 330, 2, 0, 1, 0, 23, 31 },
{ 342, 2, 0, 1, 0, 23, 31 },
{ 354, 2, 0, 1, 0, 23, 31 },
// 243: convert_uchar8, convert_uchar8_rte, convert_uchar8_rtn, convert_uchar8_rtp, convert_uchar8_rtz, convert_uchar8_sat, convert_uchar8_sat_rte, convert_uchar8_sat_rtn, convert_uchar8_sat_rtp, convert_uchar8_sat_rtz,
{ 222, 2, 0, 1, 0, 23, 31 },
{ 236, 2, 0, 1, 0, 23, 31 },
{ 248, 2, 0, 1, 0, 23, 31 },
{ 260, 2, 0, 1, 0, 23, 31 },
{ 272, 2, 0, 1, 0, 23, 31 },
{ 290, 2, 0, 1, 0, 23, 31 },
{ 308, 2, 0, 1, 0, 23, 31 },
{ 320, 2, 0, 1, 0, 23, 31 },
{ 332, 2, 0, 1, 0, 23, 31 },
{ 344, 2, 0, 1, 0, 23, 31 },
{ 356, 2, 0, 1, 0, 23, 31 },
// 254: convert_uchar16, convert_uchar16_rte, convert_uchar16_rtn, convert_uchar16_rtp, convert_uchar16_rtz, convert_uchar16_sat, convert_uchar16_sat_rte, convert_uchar16_sat_rtn, convert_uchar16_sat_rtp, convert_uchar16_sat_rtz,
{ 224, 2, 0, 1, 0, 23, 31 },
{ 238, 2, 0, 1, 0, 23, 31 },
{ 250, 2, 0, 1, 0, 23, 31 },
{ 262, 2, 0, 1, 0, 23, 31 },
{ 274, 2, 0, 1, 0, 23, 31 },
{ 292, 2, 0, 1, 0, 23, 31 },
{ 310, 2, 0, 1, 0, 23, 31 },
{ 322, 2, 0, 1, 0, 23, 31 },
{ 334, 2, 0, 1, 0, 23, 31 },
{ 346, 2, 0, 1, 0, 23, 31 },
{ 358, 2, 0, 1, 0, 23, 31 },
// 265: convert_short, convert_short_rte, convert_short_rtn, convert_short_rtp, convert_short_rtz, convert_short_sat, convert_short_sat_rte, convert_short_sat_rtn, convert_short_sat_rtp, convert_short_sat_rtz,
{ 366, 2, 0, 1, 0, 23, 31 },
{ 384, 2, 0, 1, 0, 23, 31 },
{ 396, 2, 0, 1, 0, 23, 31 },
{ 408, 2, 0, 1, 0, 23, 31 },
{ 420, 2, 0, 1, 0, 23, 31 },
{ 432, 2, 0, 1, 0, 23, 31 },
{ 450, 2, 0, 1, 0, 23, 31 },
{ 468, 2, 0, 1, 0, 23, 31 },
{ 480, 2, 0, 1, 0, 23, 31 },
{ 492, 2, 0, 1, 0, 23, 31 },
{ 504, 2, 0, 1, 0, 23, 31 },
// 276: convert_short2, convert_short2_rte, convert_short2_rtn, convert_short2_rtp, convert_short2_rtz, convert_short2_sat, convert_short2_sat_rte, convert_short2_sat_rtn, convert_short2_sat_rtp, convert_short2_sat_rtz,
{ 368, 2, 0, 1, 0, 23, 31 },
{ 386, 2, 0, 1, 0, 23, 31 },
{ 398, 2, 0, 1, 0, 23, 31 },
{ 410, 2, 0, 1, 0, 23, 31 },
{ 422, 2, 0, 1, 0, 23, 31 },
{ 434, 2, 0, 1, 0, 23, 31 },
{ 452, 2, 0, 1, 0, 23, 31 },
{ 470, 2, 0, 1, 0, 23, 31 },
{ 482, 2, 0, 1, 0, 23, 31 },
{ 494, 2, 0, 1, 0, 23, 31 },
{ 506, 2, 0, 1, 0, 23, 31 },
// 287: convert_short3, convert_short3_rte, convert_short3_rtn, convert_short3_rtp, convert_short3_rtz, convert_short3_sat, convert_short3_sat_rte, convert_short3_sat_rtn, convert_short3_sat_rtp, convert_short3_sat_rtz,
{ 370, 2, 0, 1, 0, 23, 31 },
{ 388, 2, 0, 1, 0, 23, 31 },
{ 400, 2, 0, 1, 0, 23, 31 },
{ 412, 2, 0, 1, 0, 23, 31 },
{ 424, 2, 0, 1, 0, 23, 31 },
{ 438, 2, 0, 1, 0, 23, 31 },
{ 456, 2, 0, 1, 0, 23, 31 },
{ 472, 2, 0, 1, 0, 23, 31 },
{ 484, 2, 0, 1, 0, 23, 31 },
{ 496, 2, 0, 1, 0, 23, 31 },
{ 508, 2, 0, 1, 0, 23, 31 },
// 298: convert_short4, convert_short4_rte, convert_short4_rtn, convert_short4_rtp, convert_short4_rtz, convert_short4_sat, convert_short4_sat_rte, convert_short4_sat_rtn, convert_short4_sat_rtp, convert_short4_sat_rtz,
{ 372, 2, 0, 1, 0, 23, 31 },
{ 390, 2, 0, 1, 0, 23, 31 },
{ 402, 2, 0, 1, 0, 23, 31 },
{ 414, 2, 0, 1, 0, 23, 31 },
{ 426, 2, 0, 1, 0, 23, 31 },
{ 440, 2, 0, 1, 0, 23, 31 },
{ 458, 2, 0, 1, 0, 23, 31 },
{ 474, 2, 0, 1, 0, 23, 31 },
{ 486, 2, 0, 1, 0, 23, 31 },
{ 498, 2, 0, 1, 0, 23, 31 },
{ 510, 2, 0, 1, 0, 23, 31 },
// 309: convert_short8, convert_short8_rte, convert_short8_rtn, convert_short8_rtp, convert_short8_rtz, convert_short8_sat, convert_short8_sat_rte, convert_short8_sat_rtn, convert_short8_sat_rtp, convert_short8_sat_rtz,
{ 374, 2, 0, 1, 0, 23, 31 },
{ 392, 2, 0, 1, 0, 23, 31 },
{ 404, 2, 0, 1, 0, 23, 31 },
{ 416, 2, 0, 1, 0, 23, 31 },
{ 428, 2, 0, 1, 0, 23, 31 },
{ 442, 2, 0, 1, 0, 23, 31 },
{ 460, 2, 0, 1, 0, 23, 31 },
{ 476, 2, 0, 1, 0, 23, 31 },
{ 488, 2, 0, 1, 0, 23, 31 },
{ 500, 2, 0, 1, 0, 23, 31 },
{ 512, 2, 0, 1, 0, 23, 31 },
// 320: convert_short16, convert_short16_rte, convert_short16_rtn, convert_short16_rtp, convert_short16_rtz, convert_short16_sat, convert_short16_sat_rte, convert_short16_sat_rtn, convert_short16_sat_rtp, convert_short16_sat_rtz,
{ 376, 2, 0, 1, 0, 23, 31 },
{ 394, 2, 0, 1, 0, 23, 31 },
{ 406, 2, 0, 1, 0, 23, 31 },
{ 418, 2, 0, 1, 0, 23, 31 },
{ 430, 2, 0, 1, 0, 23, 31 },
{ 444, 2, 0, 1, 0, 23, 31 },
{ 462, 2, 0, 1, 0, 23, 31 },
{ 478, 2, 0, 1, 0, 23, 31 },
{ 490, 2, 0, 1, 0, 23, 31 },
{ 502, 2, 0, 1, 0, 23, 31 },
{ 514, 2, 0, 1, 0, 23, 31 },
// 331: convert_ushort, convert_ushort_rte, convert_ushort_rtn, convert_ushort_rtp, convert_ushort_rtz, convert_ushort_sat, convert_ushort_sat_rte, convert_ushort_sat_rtn, convert_ushort_sat_rtp, convert_ushort_sat_rtz,
{ 518, 2, 0, 1, 0, 23, 31 },
{ 536, 2, 0, 1, 0, 23, 31 },
{ 552, 2, 0, 1, 0, 23, 31 },
{ 564, 2, 0, 1, 0, 23, 31 },
{ 576, 2, 0, 1, 0, 23, 31 },
{ 588, 2, 0, 1, 0, 23, 31 },
{ 602, 2, 0, 1, 0, 23, 31 },
{ 620, 2, 0, 1, 0, 23, 31 },
{ 636, 2, 0, 1, 0, 23, 31 },
{ 648, 2, 0, 1, 0, 23, 31 },
{ 660, 2, 0, 1, 0, 23, 31 },
// 342: convert_ushort2, convert_ushort2_rte, convert_ushort2_rtn, convert_ushort2_rtp, convert_ushort2_rtz, convert_ushort2_sat, convert_ushort2_sat_rte, convert_ushort2_sat_rtn, convert_ushort2_sat_rtp, convert_ushort2_sat_rtz,
{ 520, 2, 0, 1, 0, 23, 31 },
{ 538, 2, 0, 1, 0, 23, 31 },
{ 554, 2, 0, 1, 0, 23, 31 },
{ 566, 2, 0, 1, 0, 23, 31 },
{ 578, 2, 0, 1, 0, 23, 31 },
{ 590, 2, 0, 1, 0, 23, 31 },
{ 604, 2, 0, 1, 0, 23, 31 },
{ 622, 2, 0, 1, 0, 23, 31 },
{ 638, 2, 0, 1, 0, 23, 31 },
{ 650, 2, 0, 1, 0, 23, 31 },
{ 662, 2, 0, 1, 0, 23, 31 },
// 353: convert_ushort3, convert_ushort3_rte, convert_ushort3_rtn, convert_ushort3_rtp, convert_ushort3_rtz, convert_ushort3_sat, convert_ushort3_sat_rte, convert_ushort3_sat_rtn, convert_ushort3_sat_rtp, convert_ushort3_sat_rtz,
{ 522, 2, 0, 1, 0, 23, 31 },
{ 540, 2, 0, 1, 0, 23, 31 },
{ 556, 2, 0, 1, 0, 23, 31 },
{ 568, 2, 0, 1, 0, 23, 31 },
{ 580, 2, 0, 1, 0, 23, 31 },
{ 592, 2, 0, 1, 0, 23, 31 },
{ 608, 2, 0, 1, 0, 23, 31 },
{ 626, 2, 0, 1, 0, 23, 31 },
{ 640, 2, 0, 1, 0, 23, 31 },
{ 652, 2, 0, 1, 0, 23, 31 },
{ 664, 2, 0, 1, 0, 23, 31 },
// 364: convert_ushort4, convert_ushort4_rte, convert_ushort4_rtn, convert_ushort4_rtp, convert_ushort4_rtz, convert_ushort4_sat, convert_ushort4_sat_rte, convert_ushort4_sat_rtn, convert_ushort4_sat_rtp, convert_ushort4_sat_rtz,
{ 524, 2, 0, 1, 0, 23, 31 },
{ 542, 2, 0, 1, 0, 23, 31 },
{ 558, 2, 0, 1, 0, 23, 31 },
{ 570, 2, 0, 1, 0, 23, 31 },
{ 582, 2, 0, 1, 0, 23, 31 },
{ 594, 2, 0, 1, 0, 23, 31 },
{ 610, 2, 0, 1, 0, 23, 31 },
{ 628, 2, 0, 1, 0, 23, 31 },
{ 642, 2, 0, 1, 0, 23, 31 },
{ 654, 2, 0, 1, 0, 23, 31 },
{ 666, 2, 0, 1, 0, 23, 31 },
// 375: convert_ushort8, convert_ushort8_rte, convert_ushort8_rtn, convert_ushort8_rtp, convert_ushort8_rtz, convert_ushort8_sat, convert_ushort8_sat_rte, convert_ushort8_sat_rtn, convert_ushort8_sat_rtp, convert_ushort8_sat_rtz,
{ 526, 2, 0, 1, 0, 23, 31 },
{ 544, 2, 0, 1, 0, 23, 31 },
{ 560, 2, 0, 1, 0, 23, 31 },
{ 572, 2, 0, 1, 0, 23, 31 },
{ 584, 2, 0, 1, 0, 23, 31 },
{ 596, 2, 0, 1, 0, 23, 31 },
{ 612, 2, 0, 1, 0, 23, 31 },
{ 630, 2, 0, 1, 0, 23, 31 },
{ 644, 2, 0, 1, 0, 23, 31 },
{ 656, 2, 0, 1, 0, 23, 31 },
{ 668, 2, 0, 1, 0, 23, 31 },
// 386: convert_ushort16, convert_ushort16_rte, convert_ushort16_rtn, convert_ushort16_rtp, convert_ushort16_rtz, convert_ushort16_sat, convert_ushort16_sat_rte, convert_ushort16_sat_rtn, convert_ushort16_sat_rtp, convert_ushort16_sat_rtz,
{ 528, 2, 0, 1, 0, 23, 31 },
{ 546, 2, 0, 1, 0, 23, 31 },
{ 562, 2, 0, 1, 0, 23, 31 },
{ 574, 2, 0, 1, 0, 23, 31 },
{ 586, 2, 0, 1, 0, 23, 31 },
{ 598, 2, 0, 1, 0, 23, 31 },
{ 614, 2, 0, 1, 0, 23, 31 },
{ 632, 2, 0, 1, 0, 23, 31 },
{ 646, 2, 0, 1, 0, 23, 31 },
{ 658, 2, 0, 1, 0, 23, 31 },
{ 670, 2, 0, 1, 0, 23, 31 },
// 397: convert_int, convert_int_rte, convert_int_rtn, convert_int_rtp, convert_int_rtz, convert_int_sat, convert_int_sat_rte, convert_int_sat_rtn, convert_int_sat_rtp, convert_int_sat_rtz,
{ 672, 2, 0, 1, 0, 23, 31 },
{ 688, 2, 0, 1, 0, 23, 31 },
{ 706, 2, 0, 1, 0, 23, 31 },
{ 720, 2, 0, 1, 0, 23, 31 },
{ 732, 2, 0, 1, 0, 23, 31 },
{ 744, 2, 0, 1, 0, 23, 31 },
{ 756, 2, 0, 1, 0, 23, 31 },
{ 772, 2, 0, 1, 0, 23, 31 },
{ 790, 2, 0, 1, 0, 23, 31 },
{ 804, 2, 0, 1, 0, 23, 31 },
{ 816, 2, 0, 1, 0, 23, 31 },
// 408: convert_int2, convert_int2_rte, convert_int2_rtn, convert_int2_rtp, convert_int2_rtz, convert_int2_sat, convert_int2_sat_rte, convert_int2_sat_rtn, convert_int2_sat_rtp, convert_int2_sat_rtz,
{ 674, 2, 0, 1, 0, 23, 31 },
{ 690, 2, 0, 1, 0, 23, 31 },
{ 708, 2, 0, 1, 0, 23, 31 },
{ 722, 2, 0, 1, 0, 23, 31 },
{ 734, 2, 0, 1, 0, 23, 31 },
{ 746, 2, 0, 1, 0, 23, 31 },
{ 758, 2, 0, 1, 0, 23, 31 },
{ 774, 2, 0, 1, 0, 23, 31 },
{ 792, 2, 0, 1, 0, 23, 31 },
{ 806, 2, 0, 1, 0, 23, 31 },
{ 818, 2, 0, 1, 0, 23, 31 },
// 419: convert_int3, convert_int3_rte, convert_int3_rtn, convert_int3_rtp, convert_int3_rtz, convert_int3_sat, convert_int3_sat_rte, convert_int3_sat_rtn, convert_int3_sat_rtp, convert_int3_sat_rtz,
{ 676, 2, 0, 1, 0, 23, 31 },
{ 692, 2, 0, 1, 0, 23, 31 },
{ 710, 2, 0, 1, 0, 23, 31 },
{ 724, 2, 0, 1, 0, 23, 31 },
{ 736, 2, 0, 1, 0, 23, 31 },
{ 748, 2, 0, 1, 0, 23, 31 },
{ 760, 2, 0, 1, 0, 23, 31 },
{ 778, 2, 0, 1, 0, 23, 31 },
{ 796, 2, 0, 1, 0, 23, 31 },
{ 808, 2, 0, 1, 0, 23, 31 },
{ 820, 2, 0, 1, 0, 23, 31 },
// 430: convert_int4, convert_int4_rte, convert_int4_rtn, convert_int4_rtp, convert_int4_rtz, convert_int4_sat, convert_int4_sat_rte, convert_int4_sat_rtn, convert_int4_sat_rtp, convert_int4_sat_rtz,
{ 678, 2, 0, 1, 0, 23, 31 },
{ 694, 2, 0, 1, 0, 23, 31 },
{ 712, 2, 0, 1, 0, 23, 31 },
{ 726, 2, 0, 1, 0, 23, 31 },
{ 738, 2, 0, 1, 0, 23, 31 },
{ 750, 2, 0, 1, 0, 23, 31 },
{ 762, 2, 0, 1, 0, 23, 31 },
{ 780, 2, 0, 1, 0, 23, 31 },
{ 798, 2, 0, 1, 0, 23, 31 },
{ 810, 2, 0, 1, 0, 23, 31 },
{ 822, 2, 0, 1, 0, 23, 31 },
// 441: convert_int8, convert_int8_rte, convert_int8_rtn, convert_int8_rtp, convert_int8_rtz, convert_int8_sat, convert_int8_sat_rte, convert_int8_sat_rtn, convert_int8_sat_rtp, convert_int8_sat_rtz,
{ 680, 2, 0, 1, 0, 23, 31 },
{ 696, 2, 0, 1, 0, 23, 31 },
{ 714, 2, 0, 1, 0, 23, 31 },
{ 728, 2, 0, 1, 0, 23, 31 },
{ 740, 2, 0, 1, 0, 23, 31 },
{ 752, 2, 0, 1, 0, 23, 31 },
{ 764, 2, 0, 1, 0, 23, 31 },
{ 782, 2, 0, 1, 0, 23, 31 },
{ 800, 2, 0, 1, 0, 23, 31 },
{ 812, 2, 0, 1, 0, 23, 31 },
{ 824, 2, 0, 1, 0, 23, 31 },
// 452: convert_int16, convert_int16_rte, convert_int16_rtn, convert_int16_rtp, convert_int16_rtz, convert_int16_sat, convert_int16_sat_rte, convert_int16_sat_rtn, convert_int16_sat_rtp, convert_int16_sat_rtz,
{ 682, 2, 0, 1, 0, 23, 31 },
{ 698, 2, 0, 1, 0, 23, 31 },
{ 716, 2, 0, 1, 0, 23, 31 },
{ 730, 2, 0, 1, 0, 23, 31 },
{ 742, 2, 0, 1, 0, 23, 31 },
{ 754, 2, 0, 1, 0, 23, 31 },
{ 766, 2, 0, 1, 0, 23, 31 },
{ 784, 2, 0, 1, 0, 23, 31 },
{ 802, 2, 0, 1, 0, 23, 31 },
{ 814, 2, 0, 1, 0, 23, 31 },
{ 826, 2, 0, 1, 0, 23, 31 },
// 463: convert_uint, convert_uint_rte, convert_uint_rtn, convert_uint_rtp, convert_uint_rtz, convert_uint_sat, convert_uint_sat_rte, convert_uint_sat_rtn, convert_uint_sat_rtp, convert_uint_sat_rtz,
{ 828, 2, 0, 1, 0, 23, 31 },
{ 840, 2, 0, 1, 0, 23, 31 },
{ 862, 2, 0, 1, 0, 23, 31 },
{ 876, 2, 0, 1, 0, 23, 31 },
{ 888, 2, 0, 1, 0, 23, 31 },
{ 900, 2, 0, 1, 0, 23, 31 },
{ 912, 2, 0, 1, 0, 23, 31 },
{ 934, 2, 0, 1, 0, 23, 31 },
{ 948, 2, 0, 1, 0, 23, 31 },
{ 960, 2, 0, 1, 0, 23, 31 },
{ 972, 2, 0, 1, 0, 23, 31 },
// 474: convert_uint2, convert_uint2_rte, convert_uint2_rtn, convert_uint2_rtp, convert_uint2_rtz, convert_uint2_sat, convert_uint2_sat_rte, convert_uint2_sat_rtn, convert_uint2_sat_rtp, convert_uint2_sat_rtz,
{ 830, 2, 0, 1, 0, 23, 31 },
{ 842, 2, 0, 1, 0, 23, 31 },
{ 864, 2, 0, 1, 0, 23, 31 },
{ 878, 2, 0, 1, 0, 23, 31 },
{ 890, 2, 0, 1, 0, 23, 31 },
{ 902, 2, 0, 1, 0, 23, 31 },
{ 914, 2, 0, 1, 0, 23, 31 },
{ 936, 2, 0, 1, 0, 23, 31 },
{ 950, 2, 0, 1, 0, 23, 31 },
{ 962, 2, 0, 1, 0, 23, 31 },
{ 974, 2, 0, 1, 0, 23, 31 },
// 485: convert_uint3, convert_uint3_rte, convert_uint3_rtn, convert_uint3_rtp, convert_uint3_rtz, convert_uint3_sat, convert_uint3_sat_rte, convert_uint3_sat_rtn, convert_uint3_sat_rtp, convert_uint3_sat_rtz,
{ 832, 2, 0, 1, 0, 23, 31 },
{ 844, 2, 0, 1, 0, 23, 31 },
{ 868, 2, 0, 1, 0, 23, 31 },
{ 880, 2, 0, 1, 0, 23, 31 },
{ 892, 2, 0, 1, 0, 23, 31 },
{ 904, 2, 0, 1, 0, 23, 31 },
{ 916, 2, 0, 1, 0, 23, 31 },
{ 940, 2, 0, 1, 0, 23, 31 },
{ 952, 2, 0, 1, 0, 23, 31 },
{ 964, 2, 0, 1, 0, 23, 31 },
{ 976, 2, 0, 1, 0, 23, 31 },
// 496: convert_uint4, convert_uint4_rte, convert_uint4_rtn, convert_uint4_rtp, convert_uint4_rtz, convert_uint4_sat, convert_uint4_sat_rte, convert_uint4_sat_rtn, convert_uint4_sat_rtp, convert_uint4_sat_rtz,
{ 834, 2, 0, 1, 0, 23, 31 },
{ 846, 2, 0, 1, 0, 23, 31 },
{ 870, 2, 0, 1, 0, 23, 31 },
{ 882, 2, 0, 1, 0, 23, 31 },
{ 894, 2, 0, 1, 0, 23, 31 },
{ 906, 2, 0, 1, 0, 23, 31 },
{ 918, 2, 0, 1, 0, 23, 31 },
{ 942, 2, 0, 1, 0, 23, 31 },
{ 954, 2, 0, 1, 0, 23, 31 },
{ 966, 2, 0, 1, 0, 23, 31 },
{ 978, 2, 0, 1, 0, 23, 31 },
// 507: convert_uint8, convert_uint8_rte, convert_uint8_rtn, convert_uint8_rtp, convert_uint8_rtz, convert_uint8_sat, convert_uint8_sat_rte, convert_uint8_sat_rtn, convert_uint8_sat_rtp, convert_uint8_sat_rtz,
{ 836, 2, 0, 1, 0, 23, 31 },
{ 848, 2, 0, 1, 0, 23, 31 },
{ 872, 2, 0, 1, 0, 23, 31 },
{ 884, 2, 0, 1, 0, 23, 31 },
{ 896, 2, 0, 1, 0, 23, 31 },
{ 908, 2, 0, 1, 0, 23, 31 },
{ 920, 2, 0, 1, 0, 23, 31 },
{ 944, 2, 0, 1, 0, 23, 31 },
{ 956, 2, 0, 1, 0, 23, 31 },
{ 968, 2, 0, 1, 0, 23, 31 },
{ 980, 2, 0, 1, 0, 23, 31 },
// 518: convert_uint16, convert_uint16_rte, convert_uint16_rtn, convert_uint16_rtp, convert_uint16_rtz, convert_uint16_sat, convert_uint16_sat_rte, convert_uint16_sat_rtn, convert_uint16_sat_rtp, convert_uint16_sat_rtz,
{ 838, 2, 0, 1, 0, 23, 31 },
{ 850, 2, 0, 1, 0, 23, 31 },
{ 874, 2, 0, 1, 0, 23, 31 },
{ 886, 2, 0, 1, 0, 23, 31 },
{ 898, 2, 0, 1, 0, 23, 31 },
{ 910, 2, 0, 1, 0, 23, 31 },
{ 922, 2, 0, 1, 0, 23, 31 },
{ 946, 2, 0, 1, 0, 23, 31 },
{ 958, 2, 0, 1, 0, 23, 31 },
{ 970, 2, 0, 1, 0, 23, 31 },
{ 982, 2, 0, 1, 0, 23, 31 },
// 529: convert_double, convert_double_rte, convert_double_rtn, convert_double_rtp, convert_double_rtz,
{ 852, 2, 0, 1, 0, 23, 31 },
{ 924, 2, 0, 1, 0, 23, 31 },
{ 996, 2, 0, 1, 0, 23, 31 },
{ 1068, 2, 0, 1, 0, 23, 31 },
{ 1140, 2, 0, 1, 0, 23, 31 },
{ 1212, 2, 0, 1, 0, 23, 31 },
{ 1284, 2, 0, 1, 0, 23, 31 },
{ 1478, 2, 0, 1, 0, 23, 31 },
{ 1890, 2, 0, 1, 0, 23, 31 },
{ 2709, 2, 0, 1, 0, 23, 31 },
{ 3471, 2, 0, 1, 0, 23, 31 },
// 540: convert_double2, convert_double2_rte, convert_double2_rtn, convert_double2_rtp, convert_double2_rtz,
{ 854, 2, 0, 1, 0, 23, 31 },
{ 926, 2, 0, 1, 0, 23, 31 },
{ 998, 2, 0, 1, 0, 23, 31 },
{ 1070, 2, 0, 1, 0, 23, 31 },
{ 1142, 2, 0, 1, 0, 23, 31 },
{ 1214, 2, 0, 1, 0, 23, 31 },
{ 1286, 2, 0, 1, 0, 23, 31 },
{ 1506, 2, 0, 1, 0, 23, 31 },
{ 1931, 2, 0, 1, 0, 23, 31 },
{ 2751, 2, 0, 1, 0, 23, 31 },
{ 3473, 2, 0, 1, 0, 23, 31 },
// 551: convert_double3, convert_double3_rte, convert_double3_rtn, convert_double3_rtp, convert_double3_rtz,
{ 856, 2, 0, 1, 0, 23, 31 },
{ 928, 2, 0, 1, 0, 23, 31 },
{ 1000, 2, 0, 1, 0, 23, 31 },
{ 1072, 2, 0, 1, 0, 23, 31 },
{ 1144, 2, 0, 1, 0, 23, 31 },
{ 1216, 2, 0, 1, 0, 23, 31 },
{ 1290, 2, 0, 1, 0, 23, 31 },
{ 1522, 2, 0, 1, 0, 23, 31 },
{ 1951, 2, 0, 1, 0, 23, 31 },
{ 2760, 2, 0, 1, 0, 23, 31 },
{ 3481, 2, 0, 1, 0, 23, 31 },
// 562: convert_double4, convert_double4_rte, convert_double4_rtn, convert_double4_rtp, convert_double4_rtz,
{ 858, 2, 0, 1, 0, 23, 31 },
{ 930, 2, 0, 1, 0, 23, 31 },
{ 1002, 2, 0, 1, 0, 23, 31 },
{ 1074, 2, 0, 1, 0, 23, 31 },
{ 1146, 2, 0, 1, 0, 23, 31 },
{ 1218, 2, 0, 1, 0, 23, 31 },
{ 1292, 2, 0, 1, 0, 23, 31 },
{ 1533, 2, 0, 1, 0, 23, 31 },
{ 1977, 2, 0, 1, 0, 23, 31 },
{ 2792, 2, 0, 1, 0, 23, 31 },
{ 3513, 2, 0, 1, 0, 23, 31 },
// 573: convert_double8, convert_double8_rte, convert_double8_rtn, convert_double8_rtp, convert_double8_rtz,
{ 860, 2, 0, 1, 0, 23, 31 },
{ 932, 2, 0, 1, 0, 23, 31 },
{ 1004, 2, 0, 1, 0, 23, 31 },
{ 1076, 2, 0, 1, 0, 23, 31 },
{ 1148, 2, 0, 1, 0, 23, 31 },
{ 1220, 2, 0, 1, 0, 23, 31 },
{ 1294, 2, 0, 1, 0, 23, 31 },
{ 1567, 2, 0, 1, 0, 23, 31 },
{ 2015, 2, 0, 1, 0, 23, 31 },
{ 2833, 2, 0, 1, 0, 23, 31 },
{ 3545, 2, 0, 1, 0, 23, 31 },
// 584: convert_double16, convert_double16_rte, convert_double16_rtn, convert_double16_rtp, convert_double16_rtz,
{ 866, 2, 0, 1, 0, 23, 31 },
{ 938, 2, 0, 1, 0, 23, 31 },
{ 1010, 2, 0, 1, 0, 23, 31 },
{ 1082, 2, 0, 1, 0, 23, 31 },
{ 1154, 2, 0, 1, 0, 23, 31 },
{ 1226, 2, 0, 1, 0, 23, 31 },
{ 1300, 2, 0, 1, 0, 23, 31 },
{ 1588, 2, 0, 1, 0, 23, 31 },
{ 2045, 2, 0, 1, 0, 23, 31 },
{ 2851, 2, 0, 1, 0, 23, 31 },
{ 3577, 2, 0, 1, 0, 23, 31 },
// 595: convert_long, convert_long_rte, convert_long_rtn, convert_long_rtp, convert_long_rtz, convert_long_sat, convert_long_sat_rte, convert_long_sat_rtn, convert_long_sat_rtp, convert_long_sat_rtz,
{ 984, 2, 0, 1, 0, 23, 31 },
{ 1006, 2, 0, 1, 0, 23, 31 },
{ 1020, 2, 0, 1, 0, 23, 31 },
{ 1032, 2, 0, 1, 0, 23, 31 },
{ 1044, 2, 0, 1, 0, 23, 31 },
{ 1056, 2, 0, 1, 0, 23, 31 },
{ 1078, 2, 0, 1, 0, 23, 31 },
{ 1092, 2, 0, 1, 0, 23, 31 },
{ 1104, 2, 0, 1, 0, 23, 31 },
{ 1116, 2, 0, 1, 0, 23, 31 },
{ 1128, 2, 0, 1, 0, 23, 31 },
// 606: convert_long2, convert_long2_rte, convert_long2_rtn, convert_long2_rtp, convert_long2_rtz, convert_long2_sat, convert_long2_sat_rte, convert_long2_sat_rtn, convert_long2_sat_rtp, convert_long2_sat_rtz,
{ 986, 2, 0, 1, 0, 23, 31 },
{ 1008, 2, 0, 1, 0, 23, 31 },
{ 1022, 2, 0, 1, 0, 23, 31 },
{ 1034, 2, 0, 1, 0, 23, 31 },
{ 1046, 2, 0, 1, 0, 23, 31 },
{ 1058, 2, 0, 1, 0, 23, 31 },
{ 1080, 2, 0, 1, 0, 23, 31 },
{ 1094, 2, 0, 1, 0, 23, 31 },
{ 1106, 2, 0, 1, 0, 23, 31 },
{ 1118, 2, 0, 1, 0, 23, 31 },
{ 1130, 2, 0, 1, 0, 23, 31 },
// 617: convert_long3, convert_long3_rte, convert_long3_rtn, convert_long3_rtp, convert_long3_rtz, convert_long3_sat, convert_long3_sat_rte, convert_long3_sat_rtn, convert_long3_sat_rtp, convert_long3_sat_rtz,
{ 988, 2, 0, 1, 0, 23, 31 },
{ 1012, 2, 0, 1, 0, 23, 31 },
{ 1024, 2, 0, 1, 0, 23, 31 },
{ 1036, 2, 0, 1, 0, 23, 31 },
{ 1048, 2, 0, 1, 0, 23, 31 },
{ 1060, 2, 0, 1, 0, 23, 31 },
{ 1084, 2, 0, 1, 0, 23, 31 },
{ 1096, 2, 0, 1, 0, 23, 31 },
{ 1108, 2, 0, 1, 0, 23, 31 },
{ 1120, 2, 0, 1, 0, 23, 31 },
{ 1132, 2, 0, 1, 0, 23, 31 },
// 628: convert_long4, convert_long4_rte, convert_long4_rtn, convert_long4_rtp, convert_long4_rtz, convert_long4_sat, convert_long4_sat_rte, convert_long4_sat_rtn, convert_long4_sat_rtp, convert_long4_sat_rtz,
{ 990, 2, 0, 1, 0, 23, 31 },
{ 1014, 2, 0, 1, 0, 23, 31 },
{ 1026, 2, 0, 1, 0, 23, 31 },
{ 1038, 2, 0, 1, 0, 23, 31 },
{ 1050, 2, 0, 1, 0, 23, 31 },
{ 1062, 2, 0, 1, 0, 23, 31 },
{ 1086, 2, 0, 1, 0, 23, 31 },
{ 1098, 2, 0, 1, 0, 23, 31 },
{ 1110, 2, 0, 1, 0, 23, 31 },
{ 1122, 2, 0, 1, 0, 23, 31 },
{ 1134, 2, 0, 1, 0, 23, 31 },
// 639: convert_long8, convert_long8_rte, convert_long8_rtn, convert_long8_rtp, convert_long8_rtz, convert_long8_sat, convert_long8_sat_rte, convert_long8_sat_rtn, convert_long8_sat_rtp, convert_long8_sat_rtz,
{ 992, 2, 0, 1, 0, 23, 31 },
{ 1016, 2, 0, 1, 0, 23, 31 },
{ 1028, 2, 0, 1, 0, 23, 31 },
{ 1040, 2, 0, 1, 0, 23, 31 },
{ 1052, 2, 0, 1, 0, 23, 31 },
{ 1064, 2, 0, 1, 0, 23, 31 },
{ 1088, 2, 0, 1, 0, 23, 31 },
{ 1100, 2, 0, 1, 0, 23, 31 },
{ 1112, 2, 0, 1, 0, 23, 31 },
{ 1124, 2, 0, 1, 0, 23, 31 },
{ 1136, 2, 0, 1, 0, 23, 31 },
// 650: convert_long16, convert_long16_rte, convert_long16_rtn, convert_long16_rtp, convert_long16_rtz, convert_long16_sat, convert_long16_sat_rte, convert_long16_sat_rtn, convert_long16_sat_rtp, convert_long16_sat_rtz,
{ 994, 2, 0, 1, 0, 23, 31 },
{ 1018, 2, 0, 1, 0, 23, 31 },
{ 1030, 2, 0, 1, 0, 23, 31 },
{ 1042, 2, 0, 1, 0, 23, 31 },
{ 1054, 2, 0, 1, 0, 23, 31 },
{ 1066, 2, 0, 1, 0, 23, 31 },
{ 1090, 2, 0, 1, 0, 23, 31 },
{ 1102, 2, 0, 1, 0, 23, 31 },
{ 1114, 2, 0, 1, 0, 23, 31 },
{ 1126, 2, 0, 1, 0, 23, 31 },
{ 1138, 2, 0, 1, 0, 23, 31 },
// 661: convert_ulong, convert_ulong_rte, convert_ulong_rtn, convert_ulong_rtp, convert_ulong_rtz, convert_ulong_sat, convert_ulong_sat_rte, convert_ulong_sat_rtn, convert_ulong_sat_rtp, convert_ulong_sat_rtz,
{ 1150, 2, 0, 1, 0, 23, 31 },
{ 1164, 2, 0, 1, 0, 23, 31 },
{ 1176, 2, 0, 1, 0, 23, 31 },
{ 1188, 2, 0, 1, 0, 23, 31 },
{ 1200, 2, 0, 1, 0, 23, 31 },
{ 1222, 2, 0, 1, 0, 23, 31 },
{ 1236, 2, 0, 1, 0, 23, 31 },
{ 1248, 2, 0, 1, 0, 23, 31 },
{ 1260, 2, 0, 1, 0, 23, 31 },
{ 1272, 2, 0, 1, 0, 23, 31 },
{ 1296, 2, 0, 1, 0, 23, 31 },
// 672: convert_ulong2, convert_ulong2_rte, convert_ulong2_rtn, convert_ulong2_rtp, convert_ulong2_rtz, convert_ulong2_sat, convert_ulong2_sat_rte, convert_ulong2_sat_rtn, convert_ulong2_sat_rtp, convert_ulong2_sat_rtz,
{ 1152, 2, 0, 1, 0, 23, 31 },
{ 1166, 2, 0, 1, 0, 23, 31 },
{ 1178, 2, 0, 1, 0, 23, 31 },
{ 1190, 2, 0, 1, 0, 23, 31 },
{ 1202, 2, 0, 1, 0, 23, 31 },
{ 1224, 2, 0, 1, 0, 23, 31 },
{ 1238, 2, 0, 1, 0, 23, 31 },
{ 1250, 2, 0, 1, 0, 23, 31 },
{ 1262, 2, 0, 1, 0, 23, 31 },
{ 1274, 2, 0, 1, 0, 23, 31 },
{ 1298, 2, 0, 1, 0, 23, 31 },
// 683: convert_ulong3, convert_ulong3_rte, convert_ulong3_rtn, convert_ulong3_rtp, convert_ulong3_rtz, convert_ulong3_sat, convert_ulong3_sat_rte, convert_ulong3_sat_rtn, convert_ulong3_sat_rtp, convert_ulong3_sat_rtz,
{ 1156, 2, 0, 1, 0, 23, 31 },
{ 1168, 2, 0, 1, 0, 23, 31 },
{ 1180, 2, 0, 1, 0, 23, 31 },
{ 1192, 2, 0, 1, 0, 23, 31 },
{ 1204, 2, 0, 1, 0, 23, 31 },
{ 1228, 2, 0, 1, 0, 23, 31 },
{ 1240, 2, 0, 1, 0, 23, 31 },
{ 1252, 2, 0, 1, 0, 23, 31 },
{ 1264, 2, 0, 1, 0, 23, 31 },
{ 1276, 2, 0, 1, 0, 23, 31 },
{ 1302, 2, 0, 1, 0, 23, 31 },
// 694: convert_ulong4, convert_ulong4_rte, convert_ulong4_rtn, convert_ulong4_rtp, convert_ulong4_rtz, convert_ulong4_sat, convert_ulong4_sat_rte, convert_ulong4_sat_rtn, convert_ulong4_sat_rtp, convert_ulong4_sat_rtz,
{ 1158, 2, 0, 1, 0, 23, 31 },
{ 1170, 2, 0, 1, 0, 23, 31 },
{ 1182, 2, 0, 1, 0, 23, 31 },
{ 1194, 2, 0, 1, 0, 23, 31 },
{ 1206, 2, 0, 1, 0, 23, 31 },
{ 1230, 2, 0, 1, 0, 23, 31 },
{ 1242, 2, 0, 1, 0, 23, 31 },
{ 1254, 2, 0, 1, 0, 23, 31 },
{ 1266, 2, 0, 1, 0, 23, 31 },
{ 1278, 2, 0, 1, 0, 23, 31 },
{ 1304, 2, 0, 1, 0, 23, 31 },
// 705: convert_ulong8, convert_ulong8_rte, convert_ulong8_rtn, convert_ulong8_rtp, convert_ulong8_rtz, convert_ulong8_sat, convert_ulong8_sat_rte, convert_ulong8_sat_rtn, convert_ulong8_sat_rtp, convert_ulong8_sat_rtz,
{ 1160, 2, 0, 1, 0, 23, 31 },
{ 1172, 2, 0, 1, 0, 23, 31 },
{ 1184, 2, 0, 1, 0, 23, 31 },
{ 1196, 2, 0, 1, 0, 23, 31 },
{ 1208, 2, 0, 1, 0, 23, 31 },
{ 1232, 2, 0, 1, 0, 23, 31 },
{ 1244, 2, 0, 1, 0, 23, 31 },
{ 1256, 2, 0, 1, 0, 23, 31 },
{ 1268, 2, 0, 1, 0, 23, 31 },
{ 1280, 2, 0, 1, 0, 23, 31 },
{ 1306, 2, 0, 1, 0, 23, 31 },
// 716: convert_ulong16, convert_ulong16_rte, convert_ulong16_rtn, convert_ulong16_rtp, convert_ulong16_rtz, convert_ulong16_sat, convert_ulong16_sat_rte, convert_ulong16_sat_rtn, convert_ulong16_sat_rtp, convert_ulong16_sat_rtz,
{ 1162, 2, 0, 1, 0, 23, 31 },
{ 1174, 2, 0, 1, 0, 23, 31 },
{ 1186, 2, 0, 1, 0, 23, 31 },
{ 1198, 2, 0, 1, 0, 23, 31 },
{ 1210, 2, 0, 1, 0, 23, 31 },
{ 1234, 2, 0, 1, 0, 23, 31 },
{ 1246, 2, 0, 1, 0, 23, 31 },
{ 1258, 2, 0, 1, 0, 23, 31 },
{ 1270, 2, 0, 1, 0, 23, 31 },
{ 1282, 2, 0, 1, 0, 23, 31 },
{ 1308, 2, 0, 1, 0, 23, 31 },
// 727: get_work_dim,
{ 1310, 1, 0, 1, 0, 23, 31 },
// 728: get_global_size, get_global_id, get_local_size, get_local_id, get_num_groups, get_group_id, get_global_offset,
{ 1311, 2, 0, 1, 0, 23, 31 },
// 729: get_enqueued_local_size,
{ 1311, 2, 0, 0, 0, 23, 24 },
// 730: get_global_linear_id, get_local_linear_id,
{ 1313, 1, 0, 0, 0, 23, 24 },
// 731: acos, acosh, acospi, asin, asinh, asinpi, atan, atanh, atanpi, cbrt, ceil, cos, cosh, cospi, erfc, erf, exp, exp2, exp10, expm1, fabs, floor, log, log2, log10, log1p, logb, rint, round, rsqrt, sin, sinh, sinpi, sqrt, tan, tanh, tanpi, tgamma, trunc, lgamma, degrees, radians, sign,
{ 1314, 2, 0, 1, 0, 23, 31 },
// 732: nan,
{ 1318, 2, 0, 1, 0, 23, 31 },
{ 1320, 2, 0, 1, 0, 23, 31 },
{ 1322, 2, 0, 1, 0, 23, 31 },
// 735: atan2, atan2pi, copysign, fdim, fmod, hypot, maxmag, minmag, nextafter, pow, powr, remainder,
{ 1324, 3, 0, 1, 0, 23, 31 },
// 736: fmax, fmin,
{ 1324, 3, 0, 1, 0, 23, 31 },
{ 1327, 3, 0, 1, 0, 23, 31 },
{ 1330, 3, 0, 1, 0, 23, 31 },
{ 1333, 3, 0, 1, 0, 23, 31 },
// 740: ilogb,
{ 1336, 2, 0, 1, 0, 23, 31 },
{ 1338, 2, 0, 1, 0, 23, 31 },
{ 1340, 2, 0, 1, 0, 23, 31 },
// 743: ldexp,
{ 1342, 3, 0, 1, 0, 23, 31 },
{ 1345, 3, 0, 1, 0, 23, 31 },
{ 1348, 3, 0, 1, 0, 23, 31 },
{ 1351, 3, 0, 1, 0, 23, 31 },
{ 1354, 3, 0, 1, 0, 23, 31 },
{ 1357, 3, 0, 1, 0, 23, 31 },
// 749: pown, rootn,
{ 1342, 3, 0, 1, 0, 23, 31 },
{ 1348, 3, 0, 1, 0, 23, 31 },
{ 1354, 3, 0, 1, 0, 23, 31 },
// 752: fma, mad,
{ 1360, 4, 0, 1, 0, 23, 31 },
// 753: fract, modf, sincos,
{ 1364, 3, 0, 0, 0, 23, 7 },
{ 1388, 3, 0, 0, 0, 23, 7 },
{ 1412, 3, 0, 0, 0, 23, 7 },
{ 1436, 3, 0, 0, 0, 23, 24 },
// 757: frexp, lgamma_r,
{ 1367, 3, 0, 0, 0, 23, 7 },
{ 1374, 3, 0, 0, 0, 23, 7 },
{ 1377, 3, 0, 0, 0, 23, 7 },
{ 1391, 3, 0, 0, 0, 23, 7 },
{ 1394, 3, 0, 0, 0, 23, 7 },
{ 1397, 3, 0, 0, 0, 23, 7 },
{ 1415, 3, 0, 0, 0, 23, 7 },
{ 1418, 3, 0, 0, 0, 23, 7 },
{ 1421, 3, 0, 0, 0, 23, 7 },
{ 1439, 3, 0, 0, 0, 23, 24 },
{ 1442, 3, 0, 0, 0, 23, 24 },
{ 1445, 3, 0, 0, 0, 23, 24 },
// 769: remquo,
{ 1370, 4, 0, 0, 0, 23, 7 },
{ 1380, 4, 0, 0, 0, 23, 7 },
{ 1384, 4, 0, 0, 0, 23, 7 },
{ 1400, 4, 0, 0, 0, 23, 7 },
{ 1404, 4, 0, 0, 0, 23, 7 },
{ 1408, 4, 0, 0, 0, 23, 7 },
{ 1424, 4, 0, 0, 0, 23, 7 },
{ 1428, 4, 0, 0, 0, 23, 7 },
{ 1432, 4, 0, 0, 0, 23, 7 },
{ 1448, 4, 0, 0, 0, 23, 24 },
{ 1452, 4, 0, 0, 0, 23, 24 },
{ 1456, 4, 0, 0, 0, 23, 24 },
// 781: half_cos, half_exp, half_exp2, half_exp10, half_log, half_log2, half_log10, half_recip, half_rsqrt, half_sin, half_sqrt, half_tan, native_cos, native_exp, native_exp2, native_exp10, native_log, native_log2, native_log10, native_recip, native_rsqrt, native_sin, native_sqrt, native_tan,
{ 1460, 2, 0, 1, 0, 23, 31 },
// 782: half_divide, half_powr, native_divide, native_powr,
{ 1462, 3, 0, 1, 0, 23, 31 },
// 783: abs,
{ 1465, 2, 0, 1, 0, 23, 31 },
// 784: clz,
{ 1467, 2, 0, 1, 0, 23, 31 },
// 785: popcount,
{ 1467, 2, 0, 1, 0, 23, 28 },
// 786: ctz,
{ 1467, 2, 0, 1, 0, 23, 24 },
// 787: abs_diff,
{ 1469, 3, 0, 1, 0, 23, 31 },
// 788: add_sat, hadd, rhadd, mul_hi, rotate, sub_sat,
{ 1472, 3, 0, 1, 0, 23, 31 },
// 789: max, min,
{ 1472, 3, 0, 1, 0, 23, 31 },
{ 1475, 3, 0, 1, 0, 23, 31 },
{ 1324, 3, 0, 1, 0, 23, 31 },
{ 1327, 3, 0, 1, 0, 23, 31 },
{ 1330, 3, 0, 1, 0, 23, 31 },
{ 1333, 3, 0, 1, 0, 23, 31 },
// 795: upsample,
{ 1480, 3, 0, 1, 0, 23, 31 },
{ 1483, 3, 0, 1, 0, 23, 31 },
{ 1486, 3, 0, 1, 0, 23, 31 },
{ 1489, 3, 0, 1, 0, 23, 31 },
{ 1492, 3, 0, 1, 0, 23, 31 },
{ 1495, 3, 0, 1, 0, 23, 31 },
// 801: clamp,
{ 1498, 4, 0, 1, 0, 23, 31 },
{ 1502, 4, 0, 1, 0, 23, 31 },
{ 1360, 4, 0, 1, 0, 23, 31 },
{ 1535, 4, 0, 1, 0, 23, 31 },
{ 1539, 4, 0, 1, 0, 23, 31 },
{ 1543, 4, 0, 1, 0, 23, 31 },
// 807: mad_hi, mad_sat,
{ 1498, 4, 0, 1, 0, 23, 31 },
// 808: mad24,
{ 1508, 4, 0, 1, 0, 23, 31 },
{ 1512, 4, 0, 1, 0, 23, 31 },
// 810: mul24,
{ 1516, 3, 0, 1, 0, 23, 31 },
{ 1519, 3, 0, 1, 0, 23, 31 },
// 812: step,
{ 1324, 3, 0, 1, 0, 23, 31 },
{ 1524, 3, 0, 1, 0, 23, 31 },
{ 1527, 3, 0, 1, 0, 23, 31 },
{ 1530, 3, 0, 1, 0, 23, 31 },
// 816: mix,
{ 1360, 4, 0, 1, 0, 23, 31 },
{ 1547, 4, 0, 1, 0, 23, 31 },
{ 1551, 4, 0, 1, 0, 23, 31 },
{ 1555, 4, 0, 1, 0, 23, 31 },
// 820: smoothstep,
{ 1360, 4, 0, 1, 0, 23, 31 },
{ 1559, 4, 0, 1, 0, 23, 31 },
{ 1563, 4, 0, 1, 0, 23, 31 },
{ 1569, 4, 0, 1, 0, 23, 31 },
// 824: length,
{ 1573, 2, 0, 1, 0, 23, 31 },
{ 1575, 2, 0, 1, 0, 23, 31 },
{ 1577, 2, 0, 1, 0, 23, 31 },
// 827: normalize,
{ 1579, 2, 0, 1, 0, 23, 31 },
{ 1581, 2, 0, 1, 0, 23, 31 },
{ 1583, 2, 0, 1, 0, 23, 31 },
// 830: fast_length,
{ 1573, 2, 0, 1, 0, 23, 31 },
// 831: fast_normalize,
{ 1579, 2, 0, 1, 0, 23, 31 },
// 832: cross,
{ 1585, 3, 0, 1, 0, 23, 31 },
{ 1590, 3, 0, 1, 0, 23, 31 },
{ 1593, 3, 0, 1, 0, 23, 31 },
{ 1596, 3, 0, 1, 0, 23, 31 },
{ 1599, 3, 0, 1, 0, 23, 31 },
{ 1602, 3, 0, 1, 0, 23, 31 },
// 838: dot,
{ 1605, 3, 0, 1, 0, 23, 31 },
{ 1608, 3, 0, 1, 0, 23, 31 },
{ 1611, 3, 0, 1, 0, 23, 31 },
{ 6614, 3, 0, 1, 0, 27, 31 },
{ 6617, 3, 0, 1, 0, 27, 31 },
{ 6620, 3, 0, 1, 0, 27, 31 },
{ 6623, 3, 0, 1, 0, 27, 31 },
// 845: distance,
{ 1605, 3, 0, 1, 0, 23, 31 },
{ 1608, 3, 0, 1, 0, 23, 31 },
{ 1611, 3, 0, 1, 0, 23, 31 },
// 848: fast_distance,
{ 1605, 3, 0, 1, 0, 23, 31 },
// 849: isfinite, isinf, isnan, isnormal, signbit,
{ 1336, 2, 0, 1, 0, 23, 31 },
{ 688, 2, 0, 1, 0, 23, 31 },
{ 1614, 2, 0, 1, 0, 23, 31 },
{ 706, 2, 0, 1, 0, 23, 31 },
{ 1616, 2, 0, 1, 0, 23, 31 },
// 854: any, all,
{ 1618, 2, 0, 1, 0, 23, 31 },
// 855: isequal, isnotequal, isgreater, isgreaterequal, isless, islessequal, islessgreater, isordered, isunordered,
{ 1620, 3, 0, 1, 0, 23, 31 },
{ 1623, 3, 0, 1, 0, 23, 31 },
{ 1626, 3, 0, 1, 0, 23, 31 },
{ 1629, 3, 0, 1, 0, 23, 31 },
{ 1632, 3, 0, 1, 0, 23, 31 },
// 860: bitselect,
{ 1637, 4, 0, 1, 0, 23, 31 },
// 861: select,
{ 1641, 4, 0, 1, 0, 23, 31 },
{ 1645, 4, 0, 1, 0, 23, 31 },
{ 1649, 4, 0, 1, 0, 23, 31 },
{ 1653, 4, 0, 1, 0, 23, 31 },
{ 1657, 4, 0, 1, 0, 23, 31 },
{ 1661, 4, 0, 1, 0, 23, 31 },
{ 1665, 4, 0, 1, 0, 23, 31 },
{ 1669, 4, 0, 1, 0, 23, 31 },
{ 1673, 4, 0, 1, 0, 23, 31 },
{ 1677, 4, 0, 1, 0, 23, 31 },
// 871: vload2,
{ 1681, 3, 0, 0, 0, 23, 7 },
{ 1684, 3, 0, 0, 0, 23, 7 },
{ 1687, 3, 0, 0, 0, 23, 7 },
{ 1690, 3, 0, 0, 0, 23, 7 },
{ 1693, 3, 0, 0, 0, 23, 7 },
{ 1696, 3, 0, 0, 0, 23, 7 },
{ 1699, 3, 0, 0, 0, 23, 7 },
{ 1702, 3, 0, 0, 0, 23, 7 },
{ 1705, 3, 0, 0, 0, 23, 7 },
{ 1708, 3, 0, 0, 0, 23, 7 },
{ 1711, 3, 0, 0, 0, 23, 7 },
{ 2135, 3, 0, 0, 0, 23, 7 },
{ 2138, 3, 0, 0, 0, 23, 7 },
{ 2141, 3, 0, 0, 0, 23, 7 },
{ 2144, 3, 0, 0, 0, 23, 7 },
{ 2147, 3, 0, 0, 0, 23, 7 },
{ 2150, 3, 0, 0, 0, 23, 7 },
{ 2153, 3, 0, 0, 0, 23, 7 },
{ 2156, 3, 0, 0, 0, 23, 7 },
{ 2159, 3, 0, 0, 0, 23, 7 },
{ 2162, 3, 0, 0, 0, 23, 7 },
{ 2165, 3, 0, 0, 0, 23, 7 },
{ 2577, 3, 0, 0, 0, 23, 7 },
{ 2580, 3, 0, 0, 0, 23, 7 },
{ 2583, 3, 0, 0, 0, 23, 7 },
{ 2586, 3, 0, 0, 0, 23, 7 },
{ 2589, 3, 0, 0, 0, 23, 7 },
{ 2592, 3, 0, 0, 0, 23, 7 },
{ 2595, 3, 0, 0, 0, 23, 7 },
{ 2598, 3, 0, 0, 0, 23, 7 },
{ 2601, 3, 0, 0, 0, 23, 7 },
{ 2604, 3, 0, 0, 0, 23, 7 },
{ 2607, 3, 0, 0, 0, 23, 7 },
{ 3031, 3, 0, 0, 0, 23, 24 },
{ 3034, 3, 0, 0, 0, 23, 24 },
{ 3037, 3, 0, 0, 0, 23, 24 },
{ 3040, 3, 0, 0, 0, 23, 24 },
{ 3043, 3, 0, 0, 0, 23, 24 },
{ 3046, 3, 0, 0, 0, 23, 24 },
{ 3049, 3, 0, 0, 0, 23, 24 },
{ 3052, 3, 0, 0, 0, 23, 24 },
{ 3055, 3, 0, 0, 0, 23, 24 },
{ 3058, 3, 0, 0, 0, 23, 24 },
{ 3061, 3, 0, 0, 0, 23, 24 },
{ 3475, 3, 0, 0, 0, 23, 31 },
{ 3478, 3, 0, 0, 0, 23, 31 },
{ 3483, 3, 0, 0, 0, 23, 31 },
{ 3486, 3, 0, 0, 0, 23, 31 },
{ 3489, 3, 0, 0, 0, 23, 31 },
{ 3492, 3, 0, 0, 0, 23, 31 },
{ 3495, 3, 0, 0, 0, 23, 31 },
{ 3498, 3, 0, 0, 0, 23, 31 },
{ 3501, 3, 0, 0, 0, 23, 31 },
{ 3504, 3, 0, 0, 0, 23, 31 },
{ 3507, 3, 0, 0, 0, 23, 31 },
// 926: vloada_half2, vload_half2,
{ 1714, 3, 0, 0, 0, 23, 7 },
{ 2168, 3, 0, 0, 0, 23, 7 },
{ 2610, 3, 0, 0, 0, 23, 7 },
{ 3064, 3, 0, 0, 0, 23, 24 },
{ 3510, 3, 0, 0, 0, 23, 31 },
// 931: vstore2,
{ 1717, 4, 0, 0, 0, 23, 7 },
{ 1721, 4, 0, 0, 0, 23, 7 },
{ 1725, 4, 0, 0, 0, 23, 7 },
{ 1729, 4, 0, 0, 0, 23, 7 },
{ 1733, 4, 0, 0, 0, 23, 7 },
{ 1737, 4, 0, 0, 0, 23, 7 },
{ 1741, 4, 0, 0, 0, 23, 7 },
{ 1745, 4, 0, 0, 0, 23, 7 },
{ 1749, 4, 0, 0, 0, 23, 7 },
{ 1753, 4, 0, 0, 0, 23, 7 },
{ 1757, 4, 0, 0, 0, 23, 7 },
{ 2171, 4, 0, 0, 0, 23, 7 },
{ 2175, 4, 0, 0, 0, 23, 7 },
{ 2179, 4, 0, 0, 0, 23, 7 },
{ 2183, 4, 0, 0, 0, 23, 7 },
{ 2187, 4, 0, 0, 0, 23, 7 },
{ 2191, 4, 0, 0, 0, 23, 7 },
{ 2195, 4, 0, 0, 0, 23, 7 },
{ 2199, 4, 0, 0, 0, 23, 7 },
{ 2203, 4, 0, 0, 0, 23, 7 },
{ 2207, 4, 0, 0, 0, 23, 7 },
{ 2211, 4, 0, 0, 0, 23, 7 },
{ 2613, 4, 0, 0, 0, 23, 7 },
{ 2617, 4, 0, 0, 0, 23, 7 },
{ 2621, 4, 0, 0, 0, 23, 7 },
{ 2625, 4, 0, 0, 0, 23, 7 },
{ 2629, 4, 0, 0, 0, 23, 7 },
{ 2633, 4, 0, 0, 0, 23, 7 },
{ 2637, 4, 0, 0, 0, 23, 7 },
{ 2641, 4, 0, 0, 0, 23, 7 },
{ 2645, 4, 0, 0, 0, 23, 7 },
{ 2649, 4, 0, 0, 0, 23, 7 },
{ 2653, 4, 0, 0, 0, 23, 7 },
{ 3067, 4, 0, 0, 0, 23, 24 },
{ 3071, 4, 0, 0, 0, 23, 24 },
{ 3075, 4, 0, 0, 0, 23, 24 },
{ 3079, 4, 0, 0, 0, 23, 24 },
{ 3083, 4, 0, 0, 0, 23, 24 },
{ 3087, 4, 0, 0, 0, 23, 24 },
{ 3091, 4, 0, 0, 0, 23, 24 },
{ 3095, 4, 0, 0, 0, 23, 24 },
{ 3099, 4, 0, 0, 0, 23, 24 },
{ 3103, 4, 0, 0, 0, 23, 24 },
{ 3107, 4, 0, 0, 0, 23, 24 },
// 975: vstorea_half2, vstorea_half2_rte, vstorea_half2_rtz, vstorea_half2_rtp, vstorea_half2_rtn, vstore_half2, vstore_half2_rte, vstore_half2_rtz, vstore_half2_rtp, vstore_half2_rtn,
{ 1761, 4, 0, 0, 0, 23, 7 },
{ 1765, 4, 0, 0, 0, 23, 7 },
{ 2215, 4, 0, 0, 0, 23, 7 },
{ 2219, 4, 0, 0, 0, 23, 7 },
{ 2657, 4, 0, 0, 0, 23, 7 },
{ 2661, 4, 0, 0, 0, 23, 7 },
{ 3111, 4, 0, 0, 0, 23, 24 },
{ 3115, 4, 0, 0, 0, 23, 24 },
// 983: vload3,
{ 1769, 3, 0, 0, 0, 23, 7 },
{ 1772, 3, 0, 0, 0, 23, 7 },
{ 1775, 3, 0, 0, 0, 23, 7 },
{ 1778, 3, 0, 0, 0, 23, 7 },
{ 1781, 3, 0, 0, 0, 23, 7 },
{ 1784, 3, 0, 0, 0, 23, 7 },
{ 1787, 3, 0, 0, 0, 23, 7 },
{ 1790, 3, 0, 0, 0, 23, 7 },
{ 1793, 3, 0, 0, 0, 23, 7 },
{ 1796, 3, 0, 0, 0, 23, 7 },
{ 1799, 3, 0, 0, 0, 23, 7 },
{ 2223, 3, 0, 0, 0, 23, 7 },
{ 2226, 3, 0, 0, 0, 23, 7 },
{ 2229, 3, 0, 0, 0, 23, 7 },
{ 2232, 3, 0, 0, 0, 23, 7 },
{ 2235, 3, 0, 0, 0, 23, 7 },
{ 2238, 3, 0, 0, 0, 23, 7 },
{ 2241, 3, 0, 0, 0, 23, 7 },
{ 2244, 3, 0, 0, 0, 23, 7 },
{ 2247, 3, 0, 0, 0, 23, 7 },
{ 2250, 3, 0, 0, 0, 23, 7 },
{ 2253, 3, 0, 0, 0, 23, 7 },
{ 2665, 3, 0, 0, 0, 23, 7 },
{ 2668, 3, 0, 0, 0, 23, 7 },
{ 2671, 3, 0, 0, 0, 23, 7 },
{ 2674, 3, 0, 0, 0, 23, 7 },
{ 2677, 3, 0, 0, 0, 23, 7 },
{ 2680, 3, 0, 0, 0, 23, 7 },
{ 2683, 3, 0, 0, 0, 23, 7 },
{ 2686, 3, 0, 0, 0, 23, 7 },
{ 2689, 3, 0, 0, 0, 23, 7 },
{ 2692, 3, 0, 0, 0, 23, 7 },
{ 2695, 3, 0, 0, 0, 23, 7 },
{ 3119, 3, 0, 0, 0, 23, 24 },
{ 3122, 3, 0, 0, 0, 23, 24 },
{ 3125, 3, 0, 0, 0, 23, 24 },
{ 3128, 3, 0, 0, 0, 23, 24 },
{ 3131, 3, 0, 0, 0, 23, 24 },
{ 3134, 3, 0, 0, 0, 23, 24 },
{ 3137, 3, 0, 0, 0, 23, 24 },
{ 3140, 3, 0, 0, 0, 23, 24 },
{ 3143, 3, 0, 0, 0, 23, 24 },
{ 3146, 3, 0, 0, 0, 23, 24 },
{ 3149, 3, 0, 0, 0, 23, 24 },
{ 3515, 3, 0, 0, 0, 23, 31 },
{ 3518, 3, 0, 0, 0, 23, 31 },
{ 3521, 3, 0, 0, 0, 23, 31 },
{ 3524, 3, 0, 0, 0, 23, 31 },
{ 3527, 3, 0, 0, 0, 23, 31 },
{ 3530, 3, 0, 0, 0, 23, 31 },
{ 3533, 3, 0, 0, 0, 23, 31 },
{ 3536, 3, 0, 0, 0, 23, 31 },
{ 3539, 3, 0, 0, 0, 23, 31 },
{ 3542, 3, 0, 0, 0, 23, 31 },
{ 3547, 3, 0, 0, 0, 23, 31 },
// 1038: vloada_half3, vload_half3,
{ 1802, 3, 0, 0, 0, 23, 7 },
{ 2256, 3, 0, 0, 0, 23, 7 },
{ 2698, 3, 0, 0, 0, 23, 7 },
{ 3152, 3, 0, 0, 0, 23, 24 },
{ 3550, 3, 0, 0, 0, 23, 31 },
// 1043: vstore3,
{ 1805, 4, 0, 0, 0, 23, 7 },
{ 1809, 4, 0, 0, 0, 23, 7 },
{ 1813, 4, 0, 0, 0, 23, 7 },
{ 1817, 4, 0, 0, 0, 23, 7 },
{ 1821, 4, 0, 0, 0, 23, 7 },
{ 1825, 4, 0, 0, 0, 23, 7 },
{ 1829, 4, 0, 0, 0, 23, 7 },
{ 1833, 4, 0, 0, 0, 23, 7 },
{ 1837, 4, 0, 0, 0, 23, 7 },
{ 1841, 4, 0, 0, 0, 23, 7 },
{ 1845, 4, 0, 0, 0, 23, 7 },
{ 2259, 4, 0, 0, 0, 23, 7 },
{ 2263, 4, 0, 0, 0, 23, 7 },
{ 2267, 4, 0, 0, 0, 23, 7 },
{ 2271, 4, 0, 0, 0, 23, 7 },
{ 2275, 4, 0, 0, 0, 23, 7 },
{ 2279, 4, 0, 0, 0, 23, 7 },
{ 2283, 4, 0, 0, 0, 23, 7 },
{ 2287, 4, 0, 0, 0, 23, 7 },
{ 2291, 4, 0, 0, 0, 23, 7 },
{ 2295, 4, 0, 0, 0, 23, 7 },
{ 2299, 4, 0, 0, 0, 23, 7 },
{ 2701, 4, 0, 0, 0, 23, 7 },
{ 2705, 4, 0, 0, 0, 23, 7 },
{ 2711, 4, 0, 0, 0, 23, 7 },
{ 2715, 4, 0, 0, 0, 23, 7 },
{ 2719, 4, 0, 0, 0, 23, 7 },
{ 2723, 4, 0, 0, 0, 23, 7 },
{ 2727, 4, 0, 0, 0, 23, 7 },
{ 2731, 4, 0, 0, 0, 23, 7 },
{ 2735, 4, 0, 0, 0, 23, 7 },
{ 2739, 4, 0, 0, 0, 23, 7 },
{ 2743, 4, 0, 0, 0, 23, 7 },
{ 3155, 4, 0, 0, 0, 23, 24 },
{ 3159, 4, 0, 0, 0, 23, 24 },
{ 3163, 4, 0, 0, 0, 23, 24 },
{ 3167, 4, 0, 0, 0, 23, 24 },
{ 3171, 4, 0, 0, 0, 23, 24 },
{ 3175, 4, 0, 0, 0, 23, 24 },
{ 3179, 4, 0, 0, 0, 23, 24 },
{ 3183, 4, 0, 0, 0, 23, 24 },
{ 3187, 4, 0, 0, 0, 23, 24 },
{ 3191, 4, 0, 0, 0, 23, 24 },
{ 3195, 4, 0, 0, 0, 23, 24 },
// 1087: vstorea_half3, vstorea_half3_rte, vstorea_half3_rtz, vstorea_half3_rtp, vstorea_half3_rtn, vstore_half3, vstore_half3_rte, vstore_half3_rtz, vstore_half3_rtp, vstore_half3_rtn,
{ 1849, 4, 0, 0, 0, 23, 7 },
{ 1853, 4, 0, 0, 0, 23, 7 },
{ 2303, 4, 0, 0, 0, 23, 7 },
{ 2307, 4, 0, 0, 0, 23, 7 },
{ 2747, 4, 0, 0, 0, 23, 7 },
{ 2753, 4, 0, 0, 0, 23, 7 },
{ 3199, 4, 0, 0, 0, 23, 24 },
{ 3203, 4, 0, 0, 0, 23, 24 },
// 1095: vload4,
{ 1857, 3, 0, 0, 0, 23, 7 },
{ 1860, 3, 0, 0, 0, 23, 7 },
{ 1863, 3, 0, 0, 0, 23, 7 },
{ 1866, 3, 0, 0, 0, 23, 7 },
{ 1869, 3, 0, 0, 0, 23, 7 },
{ 1872, 3, 0, 0, 0, 23, 7 },
{ 1875, 3, 0, 0, 0, 23, 7 },
{ 1878, 3, 0, 0, 0, 23, 7 },
{ 1881, 3, 0, 0, 0, 23, 7 },
{ 1884, 3, 0, 0, 0, 23, 7 },
{ 1887, 3, 0, 0, 0, 23, 7 },
{ 2311, 3, 0, 0, 0, 23, 7 },
{ 2314, 3, 0, 0, 0, 23, 7 },
{ 2317, 3, 0, 0, 0, 23, 7 },
{ 2320, 3, 0, 0, 0, 23, 7 },
{ 2323, 3, 0, 0, 0, 23, 7 },
{ 2326, 3, 0, 0, 0, 23, 7 },
{ 2329, 3, 0, 0, 0, 23, 7 },
{ 2332, 3, 0, 0, 0, 23, 7 },
{ 2335, 3, 0, 0, 0, 23, 7 },
{ 2338, 3, 0, 0, 0, 23, 7 },
{ 2341, 3, 0, 0, 0, 23, 7 },
{ 2757, 3, 0, 0, 0, 23, 7 },
{ 2762, 3, 0, 0, 0, 23, 7 },
{ 2765, 3, 0, 0, 0, 23, 7 },
{ 2768, 3, 0, 0, 0, 23, 7 },
{ 2771, 3, 0, 0, 0, 23, 7 },
{ 2774, 3, 0, 0, 0, 23, 7 },
{ 2777, 3, 0, 0, 0, 23, 7 },
{ 2780, 3, 0, 0, 0, 23, 7 },
{ 2783, 3, 0, 0, 0, 23, 7 },
{ 2786, 3, 0, 0, 0, 23, 7 },
{ 2789, 3, 0, 0, 0, 23, 7 },
{ 3207, 3, 0, 0, 0, 23, 24 },
{ 3210, 3, 0, 0, 0, 23, 24 },
{ 3213, 3, 0, 0, 0, 23, 24 },
{ 3216, 3, 0, 0, 0, 23, 24 },
{ 3219, 3, 0, 0, 0, 23, 24 },
{ 3222, 3, 0, 0, 0, 23, 24 },
{ 3225, 3, 0, 0, 0, 23, 24 },
{ 3228, 3, 0, 0, 0, 23, 24 },
{ 3231, 3, 0, 0, 0, 23, 24 },
{ 3234, 3, 0, 0, 0, 23, 24 },
{ 3237, 3, 0, 0, 0, 23, 24 },
{ 3553, 3, 0, 0, 0, 23, 31 },
{ 3556, 3, 0, 0, 0, 23, 31 },
{ 3559, 3, 0, 0, 0, 23, 31 },
{ 3562, 3, 0, 0, 0, 23, 31 },
{ 3565, 3, 0, 0, 0, 23, 31 },
{ 3568, 3, 0, 0, 0, 23, 31 },
{ 3571, 3, 0, 0, 0, 23, 31 },
{ 3574, 3, 0, 0, 0, 23, 31 },
{ 3579, 3, 0, 0, 0, 23, 31 },
{ 3582, 3, 0, 0, 0, 23, 31 },
{ 3585, 3, 0, 0, 0, 23, 31 },
// 1150: vloada_half4, vload_half4,
{ 1892, 3, 0, 0, 0, 23, 7 },
{ 2344, 3, 0, 0, 0, 23, 7 },
{ 2794, 3, 0, 0, 0, 23, 7 },
{ 3240, 3, 0, 0, 0, 23, 24 },
{ 3588, 3, 0, 0, 0, 23, 31 },
// 1155: vstore4,
{ 1895, 4, 0, 0, 0, 23, 7 },
{ 1899, 4, 0, 0, 0, 23, 7 },
{ 1903, 4, 0, 0, 0, 23, 7 },
{ 1907, 4, 0, 0, 0, 23, 7 },
{ 1911, 4, 0, 0, 0, 23, 7 },
{ 1915, 4, 0, 0, 0, 23, 7 },
{ 1919, 4, 0, 0, 0, 23, 7 },
{ 1923, 4, 0, 0, 0, 23, 7 },
{ 1927, 4, 0, 0, 0, 23, 7 },
{ 1933, 4, 0, 0, 0, 23, 7 },
{ 1937, 4, 0, 0, 0, 23, 7 },
{ 2347, 4, 0, 0, 0, 23, 7 },
{ 2351, 4, 0, 0, 0, 23, 7 },
{ 2355, 4, 0, 0, 0, 23, 7 },
{ 2359, 4, 0, 0, 0, 23, 7 },
{ 2363, 4, 0, 0, 0, 23, 7 },
{ 2367, 4, 0, 0, 0, 23, 7 },
{ 2371, 4, 0, 0, 0, 23, 7 },
{ 2375, 4, 0, 0, 0, 23, 7 },
{ 2379, 4, 0, 0, 0, 23, 7 },
{ 2383, 4, 0, 0, 0, 23, 7 },
{ 2387, 4, 0, 0, 0, 23, 7 },
{ 2797, 4, 0, 0, 0, 23, 7 },
{ 2801, 4, 0, 0, 0, 23, 7 },
{ 2805, 4, 0, 0, 0, 23, 7 },
{ 2809, 4, 0, 0, 0, 23, 7 },
{ 2813, 4, 0, 0, 0, 23, 7 },
{ 2817, 4, 0, 0, 0, 23, 7 },
{ 2821, 4, 0, 0, 0, 23, 7 },
{ 2825, 4, 0, 0, 0, 23, 7 },
{ 2829, 4, 0, 0, 0, 23, 7 },
{ 2835, 4, 0, 0, 0, 23, 7 },
{ 2839, 4, 0, 0, 0, 23, 7 },
{ 3243, 4, 0, 0, 0, 23, 24 },
{ 3247, 4, 0, 0, 0, 23, 24 },
{ 3251, 4, 0, 0, 0, 23, 24 },
{ 3255, 4, 0, 0, 0, 23, 24 },
{ 3259, 4, 0, 0, 0, 23, 24 },
{ 3263, 4, 0, 0, 0, 23, 24 },
{ 3267, 4, 0, 0, 0, 23, 24 },
{ 3271, 4, 0, 0, 0, 23, 24 },
{ 3275, 4, 0, 0, 0, 23, 24 },
{ 3279, 4, 0, 0, 0, 23, 24 },
{ 3283, 4, 0, 0, 0, 23, 24 },
// 1199: vstorea_half4, vstorea_half4_rte, vstorea_half4_rtz, vstorea_half4_rtp, vstorea_half4_rtn, vstore_half4, vstore_half4_rte, vstore_half4_rtz, vstore_half4_rtp, vstore_half4_rtn,
{ 1941, 4, 0, 0, 0, 23, 7 },
{ 1945, 4, 0, 0, 0, 23, 7 },
{ 2391, 4, 0, 0, 0, 23, 7 },
{ 2395, 4, 0, 0, 0, 23, 7 },
{ 2843, 4, 0, 0, 0, 23, 7 },
{ 2847, 4, 0, 0, 0, 23, 7 },
{ 3287, 4, 0, 0, 0, 23, 24 },
{ 3291, 4, 0, 0, 0, 23, 24 },
// 1207: vload8,
{ 1953, 3, 0, 0, 0, 23, 7 },
{ 1956, 3, 0, 0, 0, 23, 7 },
{ 1959, 3, 0, 0, 0, 23, 7 },
{ 1962, 3, 0, 0, 0, 23, 7 },
{ 1965, 3, 0, 0, 0, 23, 7 },
{ 1968, 3, 0, 0, 0, 23, 7 },
{ 1971, 3, 0, 0, 0, 23, 7 },
{ 1974, 3, 0, 0, 0, 23, 7 },
{ 1979, 3, 0, 0, 0, 23, 7 },
{ 1982, 3, 0, 0, 0, 23, 7 },
{ 1985, 3, 0, 0, 0, 23, 7 },
{ 2399, 3, 0, 0, 0, 23, 7 },
{ 2402, 3, 0, 0, 0, 23, 7 },
{ 2405, 3, 0, 0, 0, 23, 7 },
{ 2408, 3, 0, 0, 0, 23, 7 },
{ 2411, 3, 0, 0, 0, 23, 7 },
{ 2414, 3, 0, 0, 0, 23, 7 },
{ 2417, 3, 0, 0, 0, 23, 7 },
{ 2420, 3, 0, 0, 0, 23, 7 },
{ 2423, 3, 0, 0, 0, 23, 7 },
{ 2426, 3, 0, 0, 0, 23, 7 },
{ 2429, 3, 0, 0, 0, 23, 7 },
{ 2853, 3, 0, 0, 0, 23, 7 },
{ 2856, 3, 0, 0, 0, 23, 7 },
{ 2859, 3, 0, 0, 0, 23, 7 },
{ 2862, 3, 0, 0, 0, 23, 7 },
{ 2865, 3, 0, 0, 0, 23, 7 },
{ 2868, 3, 0, 0, 0, 23, 7 },
{ 2871, 3, 0, 0, 0, 23, 7 },
{ 2874, 3, 0, 0, 0, 23, 7 },
{ 2877, 3, 0, 0, 0, 23, 7 },
{ 2880, 3, 0, 0, 0, 23, 7 },
{ 2883, 3, 0, 0, 0, 23, 7 },
{ 3295, 3, 0, 0, 0, 23, 24 },
{ 3298, 3, 0, 0, 0, 23, 24 },
{ 3301, 3, 0, 0, 0, 23, 24 },
{ 3304, 3, 0, 0, 0, 23, 24 },
{ 3307, 3, 0, 0, 0, 23, 24 },
{ 3310, 3, 0, 0, 0, 23, 24 },
{ 3313, 3, 0, 0, 0, 23, 24 },
{ 3316, 3, 0, 0, 0, 23, 24 },
{ 3319, 3, 0, 0, 0, 23, 24 },
{ 3322, 3, 0, 0, 0, 23, 24 },
{ 3325, 3, 0, 0, 0, 23, 24 },
{ 3591, 3, 0, 0, 0, 23, 31 },
{ 3594, 3, 0, 0, 0, 23, 31 },
{ 3597, 3, 0, 0, 0, 23, 31 },
{ 3600, 3, 0, 0, 0, 23, 31 },
{ 3603, 3, 0, 0, 0, 23, 31 },
{ 3606, 3, 0, 0, 0, 23, 31 },
{ 3609, 3, 0, 0, 0, 23, 31 },
{ 3612, 3, 0, 0, 0, 23, 31 },
{ 3615, 3, 0, 0, 0, 23, 31 },
{ 3618, 3, 0, 0, 0, 23, 31 },
{ 3621, 3, 0, 0, 0, 23, 31 },
// 1262: vloada_half8, vload_half8,
{ 1988, 3, 0, 0, 0, 23, 7 },
{ 2432, 3, 0, 0, 0, 23, 7 },
{ 2886, 3, 0, 0, 0, 23, 7 },
{ 3328, 3, 0, 0, 0, 23, 24 },
{ 3624, 3, 0, 0, 0, 23, 31 },
// 1267: vstore8,
{ 1991, 4, 0, 0, 0, 23, 7 },
{ 1995, 4, 0, 0, 0, 23, 7 },
{ 1999, 4, 0, 0, 0, 23, 7 },
{ 2003, 4, 0, 0, 0, 23, 7 },
{ 2007, 4, 0, 0, 0, 23, 7 },
{ 2011, 4, 0, 0, 0, 23, 7 },
{ 2017, 4, 0, 0, 0, 23, 7 },
{ 2021, 4, 0, 0, 0, 23, 7 },
{ 2025, 4, 0, 0, 0, 23, 7 },
{ 2029, 4, 0, 0, 0, 23, 7 },
{ 2033, 4, 0, 0, 0, 23, 7 },
{ 2435, 4, 0, 0, 0, 23, 7 },
{ 2439, 4, 0, 0, 0, 23, 7 },
{ 2443, 4, 0, 0, 0, 23, 7 },
{ 2447, 4, 0, 0, 0, 23, 7 },
{ 2451, 4, 0, 0, 0, 23, 7 },
{ 2455, 4, 0, 0, 0, 23, 7 },
{ 2459, 4, 0, 0, 0, 23, 7 },
{ 2463, 4, 0, 0, 0, 23, 7 },
{ 2467, 4, 0, 0, 0, 23, 7 },
{ 2471, 4, 0, 0, 0, 23, 7 },
{ 2475, 4, 0, 0, 0, 23, 7 },
{ 2889, 4, 0, 0, 0, 23, 7 },
{ 2893, 4, 0, 0, 0, 23, 7 },
{ 2897, 4, 0, 0, 0, 23, 7 },
{ 2901, 4, 0, 0, 0, 23, 7 },
{ 2905, 4, 0, 0, 0, 23, 7 },
{ 2909, 4, 0, 0, 0, 23, 7 },
{ 2913, 4, 0, 0, 0, 23, 7 },
{ 2917, 4, 0, 0, 0, 23, 7 },
{ 2921, 4, 0, 0, 0, 23, 7 },
{ 2925, 4, 0, 0, 0, 23, 7 },
{ 2929, 4, 0, 0, 0, 23, 7 },
{ 3331, 4, 0, 0, 0, 23, 24 },
{ 3335, 4, 0, 0, 0, 23, 24 },
{ 3339, 4, 0, 0, 0, 23, 24 },
{ 3343, 4, 0, 0, 0, 23, 24 },
{ 3347, 4, 0, 0, 0, 23, 24 },
{ 3351, 4, 0, 0, 0, 23, 24 },
{ 3355, 4, 0, 0, 0, 23, 24 },
{ 3359, 4, 0, 0, 0, 23, 24 },
{ 3363, 4, 0, 0, 0, 23, 24 },
{ 3367, 4, 0, 0, 0, 23, 24 },
{ 3371, 4, 0, 0, 0, 23, 24 },
// 1311: vstorea_half8, vstorea_half8_rte, vstorea_half8_rtz, vstorea_half8_rtp, vstorea_half8_rtn, vstore_half8, vstore_half8_rte, vstore_half8_rtz, vstore_half8_rtp, vstore_half8_rtn,
{ 2037, 4, 0, 0, 0, 23, 7 },
{ 2041, 4, 0, 0, 0, 23, 7 },
{ 2479, 4, 0, 0, 0, 23, 7 },
{ 2483, 4, 0, 0, 0, 23, 7 },
{ 2933, 4, 0, 0, 0, 23, 7 },
{ 2937, 4, 0, 0, 0, 23, 7 },
{ 3375, 4, 0, 0, 0, 23, 24 },
{ 3379, 4, 0, 0, 0, 23, 24 },
// 1319: vload16,
{ 2047, 3, 0, 0, 0, 23, 7 },
{ 2050, 3, 0, 0, 0, 23, 7 },
{ 2053, 3, 0, 0, 0, 23, 7 },
{ 2056, 3, 0, 0, 0, 23, 7 },
{ 2059, 3, 0, 0, 0, 23, 7 },
{ 2062, 3, 0, 0, 0, 23, 7 },
{ 2065, 3, 0, 0, 0, 23, 7 },
{ 2068, 3, 0, 0, 0, 23, 7 },
{ 2071, 3, 0, 0, 0, 23, 7 },
{ 2074, 3, 0, 0, 0, 23, 7 },
{ 2077, 3, 0, 0, 0, 23, 7 },
{ 2489, 3, 0, 0, 0, 23, 7 },
{ 2492, 3, 0, 0, 0, 23, 7 },
{ 2495, 3, 0, 0, 0, 23, 7 },
{ 2498, 3, 0, 0, 0, 23, 7 },
{ 2501, 3, 0, 0, 0, 23, 7 },
{ 2504, 3, 0, 0, 0, 23, 7 },
{ 2507, 3, 0, 0, 0, 23, 7 },
{ 2510, 3, 0, 0, 0, 23, 7 },
{ 2513, 3, 0, 0, 0, 23, 7 },
{ 2516, 3, 0, 0, 0, 23, 7 },
{ 2519, 3, 0, 0, 0, 23, 7 },
{ 2941, 3, 0, 0, 0, 23, 7 },
{ 2944, 3, 0, 0, 0, 23, 7 },
{ 2947, 3, 0, 0, 0, 23, 7 },
{ 2950, 3, 0, 0, 0, 23, 7 },
{ 2953, 3, 0, 0, 0, 23, 7 },
{ 2956, 3, 0, 0, 0, 23, 7 },
{ 2959, 3, 0, 0, 0, 23, 7 },
{ 2962, 3, 0, 0, 0, 23, 7 },
{ 2965, 3, 0, 0, 0, 23, 7 },
{ 2968, 3, 0, 0, 0, 23, 7 },
{ 2971, 3, 0, 0, 0, 23, 7 },
{ 3383, 3, 0, 0, 0, 23, 24 },
{ 3386, 3, 0, 0, 0, 23, 24 },
{ 3389, 3, 0, 0, 0, 23, 24 },
{ 3392, 3, 0, 0, 0, 23, 24 },
{ 3395, 3, 0, 0, 0, 23, 24 },
{ 3398, 3, 0, 0, 0, 23, 24 },
{ 3401, 3, 0, 0, 0, 23, 24 },
{ 3404, 3, 0, 0, 0, 23, 24 },
{ 3407, 3, 0, 0, 0, 23, 24 },
{ 3410, 3, 0, 0, 0, 23, 24 },
{ 3413, 3, 0, 0, 0, 23, 24 },
{ 3627, 3, 0, 0, 0, 23, 31 },
{ 3630, 3, 0, 0, 0, 23, 31 },
{ 3633, 3, 0, 0, 0, 23, 31 },
{ 3636, 3, 0, 0, 0, 23, 31 },
{ 3639, 3, 0, 0, 0, 23, 31 },
{ 3642, 3, 0, 0, 0, 23, 31 },
{ 3645, 3, 0, 0, 0, 23, 31 },
{ 3648, 3, 0, 0, 0, 23, 31 },
{ 3651, 3, 0, 0, 0, 23, 31 },
{ 3654, 3, 0, 0, 0, 23, 31 },
{ 3657, 3, 0, 0, 0, 23, 31 },
// 1374: vloada_half16, vload_half16,
{ 2080, 3, 0, 0, 0, 23, 7 },
{ 2522, 3, 0, 0, 0, 23, 7 },
{ 2974, 3, 0, 0, 0, 23, 7 },
{ 3416, 3, 0, 0, 0, 23, 24 },
{ 3660, 3, 0, 0, 0, 23, 31 },
// 1379: vstore16,
{ 2083, 4, 0, 0, 0, 23, 7 },
{ 2087, 4, 0, 0, 0, 23, 7 },
{ 2091, 4, 0, 0, 0, 23, 7 },
{ 2095, 4, 0, 0, 0, 23, 7 },
{ 2099, 4, 0, 0, 0, 23, 7 },
{ 2103, 4, 0, 0, 0, 23, 7 },
{ 2107, 4, 0, 0, 0, 23, 7 },
{ 2111, 4, 0, 0, 0, 23, 7 },
{ 2115, 4, 0, 0, 0, 23, 7 },
{ 2119, 4, 0, 0, 0, 23, 7 },
{ 2123, 4, 0, 0, 0, 23, 7 },
{ 2525, 4, 0, 0, 0, 23, 7 },
{ 2529, 4, 0, 0, 0, 23, 7 },
{ 2533, 4, 0, 0, 0, 23, 7 },
{ 2537, 4, 0, 0, 0, 23, 7 },
{ 2541, 4, 0, 0, 0, 23, 7 },
{ 2545, 4, 0, 0, 0, 23, 7 },
{ 2549, 4, 0, 0, 0, 23, 7 },
{ 2553, 4, 0, 0, 0, 23, 7 },
{ 2557, 4, 0, 0, 0, 23, 7 },
{ 2561, 4, 0, 0, 0, 23, 7 },
{ 2565, 4, 0, 0, 0, 23, 7 },
{ 2977, 4, 0, 0, 0, 23, 7 },
{ 2981, 4, 0, 0, 0, 23, 7 },
{ 2985, 4, 0, 0, 0, 23, 7 },
{ 2989, 4, 0, 0, 0, 23, 7 },
{ 2993, 4, 0, 0, 0, 23, 7 },
{ 2997, 4, 0, 0, 0, 23, 7 },
{ 3001, 4, 0, 0, 0, 23, 7 },
{ 3005, 4, 0, 0, 0, 23, 7 },
{ 3009, 4, 0, 0, 0, 23, 7 },
{ 3013, 4, 0, 0, 0, 23, 7 },
{ 3017, 4, 0, 0, 0, 23, 7 },
{ 3419, 4, 0, 0, 0, 23, 24 },
{ 3423, 4, 0, 0, 0, 23, 24 },
{ 3427, 4, 0, 0, 0, 23, 24 },
{ 3431, 4, 0, 0, 0, 23, 24 },
{ 3435, 4, 0, 0, 0, 23, 24 },
{ 3439, 4, 0, 0, 0, 23, 24 },
{ 3443, 4, 0, 0, 0, 23, 24 },
{ 3447, 4, 0, 0, 0, 23, 24 },
{ 3451, 4, 0, 0, 0, 23, 24 },
{ 3455, 4, 0, 0, 0, 23, 24 },
{ 3459, 4, 0, 0, 0, 23, 24 },
// 1423: vstorea_half16, vstorea_half16_rte, vstorea_half16_rtz, vstorea_half16_rtp, vstorea_half16_rtn, vstore_half16, vstore_half16_rte, vstore_half16_rtz, vstore_half16_rtp, vstore_half16_rtn,
{ 2127, 4, 0, 0, 0, 23, 7 },
{ 2131, 4, 0, 0, 0, 23, 7 },
{ 2569, 4, 0, 0, 0, 23, 7 },
{ 2573, 4, 0, 0, 0, 23, 7 },
{ 3021, 4, 0, 0, 0, 23, 7 },
{ 3025, 4, 0, 0, 0, 23, 7 },
{ 3463, 4, 0, 0, 0, 23, 24 },
{ 3467, 4, 0, 0, 0, 23, 24 },
// 1431: vload_half, vloada_half,
{ 3663, 3, 0, 0, 0, 23, 7 },
{ 3674, 3, 0, 0, 0, 23, 7 },
{ 3685, 3, 0, 0, 0, 23, 7 },
{ 3700, 3, 0, 0, 0, 23, 24 },
{ 3719, 3, 0, 0, 0, 23, 31 },
// 1436: vstore_half, vstorea_half, vstore_half_rte, vstorea_half_rte, vstore_half_rtz, vstorea_half_rtz, vstore_half_rtp, vstorea_half_rtp, vstore_half_rtn, vstorea_half_rtn,
{ 3666, 4, 0, 0, 0, 23, 7 },
{ 3670, 4, 0, 0, 0, 23, 7 },
{ 3677, 4, 0, 0, 0, 23, 7 },
{ 3681, 4, 0, 0, 0, 23, 7 },
{ 3688, 4, 0, 0, 0, 23, 7 },
{ 3692, 4, 0, 0, 0, 23, 7 },
{ 3703, 4, 0, 0, 0, 23, 24 },
{ 3707, 4, 0, 0, 0, 23, 24 },
// 1444: barrier,
{ 3722, 2, 0, 0, 1, 23, 31 },
// 1445: work_group_barrier,
{ 3722, 2, 0, 0, 1, 23, 24 },
{ 3724, 3, 0, 0, 1, 23, 24 },
// 1447: mem_fence, read_mem_fence, write_mem_fence,
{ 3722, 2, 0, 0, 0, 23, 31 },
// 1448: get_fence,
{ 3727, 2, 0, 0, 0, 23, 24 },
{ 3729, 2, 0, 0, 0, 23, 24 },
// 1450: async_work_group_copy,
{ 3731, 5, 0, 0, 0, 23, 31 },
{ 3736, 5, 0, 0, 0, 23, 31 },
// 1452: async_work_group_strided_copy,
{ 3741, 6, 0, 0, 0, 23, 31 },
{ 3747, 6, 0, 0, 0, 23, 31 },
// 1454: wait_group_events,
{ 3753, 3, 0, 0, 0, 23, 31 },
// 1455: prefetch,
{ 3756, 3, 0, 0, 0, 23, 31 },
// 1456: atom_add, atom_sub, atom_xchg,
{ 3759, 3, 0, 0, 0, 6, 31 },
{ 3768, 3, 0, 0, 0, 6, 31 },
{ 3777, 3, 0, 0, 0, 10, 31 },
{ 3786, 3, 0, 0, 0, 10, 31 },
{ 3795, 3, 0, 0, 0, 8, 31 },
{ 3804, 3, 0, 0, 0, 8, 31 },
{ 3813, 3, 0, 0, 0, 8, 31 },
{ 3822, 3, 0, 0, 0, 8, 31 },
// 1464: atom_inc, atom_dec,
{ 3762, 2, 0, 0, 0, 6, 31 },
{ 3771, 2, 0, 0, 0, 6, 31 },
{ 3780, 2, 0, 0, 0, 10, 31 },
{ 3789, 2, 0, 0, 0, 10, 31 },
{ 3798, 2, 0, 0, 0, 8, 31 },
{ 3807, 2, 0, 0, 0, 8, 31 },
{ 3816, 2, 0, 0, 0, 8, 31 },
{ 3825, 2, 0, 0, 0, 8, 31 },
// 1472: atom_cmpxchg,
{ 3764, 4, 0, 0, 0, 6, 31 },
{ 3773, 4, 0, 0, 0, 6, 31 },
{ 3782, 4, 0, 0, 0, 10, 31 },
{ 3791, 4, 0, 0, 0, 10, 31 },
{ 3800, 4, 0, 0, 0, 8, 31 },
{ 3809, 4, 0, 0, 0, 8, 31 },
{ 3818, 4, 0, 0, 0, 8, 31 },
{ 3827, 4, 0, 0, 0, 8, 31 },
// 1480: atom_min, atom_max, atom_and, atom_or, atom_xor,
{ 3759, 3, 0, 0, 0, 7, 31 },
{ 3768, 3, 0, 0, 0, 7, 31 },
{ 3777, 3, 0, 0, 0, 11, 31 },
{ 3786, 3, 0, 0, 0, 11, 31 },
{ 3795, 3, 0, 0, 0, 9, 31 },
{ 3804, 3, 0, 0, 0, 9, 31 },
{ 3813, 3, 0, 0, 0, 9, 31 },
{ 3822, 3, 0, 0, 0, 9, 31 },
// 1488: atomic_xchg,
{ 3831, 3, 0, 0, 0, 23, 31 },
{ 3759, 3, 0, 0, 0, 23, 31 },
{ 3768, 3, 0, 0, 0, 23, 31 },
{ 3834, 3, 0, 0, 0, 23, 31 },
{ 3777, 3, 0, 0, 0, 23, 31 },
{ 3786, 3, 0, 0, 0, 23, 31 },
{ 3837, 3, 0, 0, 0, 26, 31 },
{ 3846, 3, 0, 0, 0, 26, 31 },
// 1496: atomic_add, atomic_sub, atomic_min, atomic_max, atomic_and, atomic_or, atomic_xor,
{ 3759, 3, 0, 0, 0, 23, 31 },
{ 3768, 3, 0, 0, 0, 23, 31 },
{ 3777, 3, 0, 0, 0, 23, 31 },
{ 3786, 3, 0, 0, 0, 23, 31 },
{ 3837, 3, 0, 0, 0, 26, 31 },
{ 3846, 3, 0, 0, 0, 26, 31 },
// 1502: atomic_inc, atomic_dec,
{ 3762, 2, 0, 0, 0, 23, 31 },
{ 3771, 2, 0, 0, 0, 23, 31 },
{ 3780, 2, 0, 0, 0, 23, 31 },
{ 3789, 2, 0, 0, 0, 23, 31 },
{ 3840, 2, 0, 0, 0, 26, 31 },
{ 3849, 2, 0, 0, 0, 26, 31 },
// 1508: atomic_cmpxchg,
{ 3764, 4, 0, 0, 0, 23, 31 },
{ 3773, 4, 0, 0, 0, 23, 31 },
{ 3782, 4, 0, 0, 0, 23, 31 },
{ 3791, 4, 0, 0, 0, 23, 31 },
{ 3842, 4, 0, 0, 0, 26, 31 },
{ 3851, 4, 0, 0, 0, 26, 31 },
// 1514: atomic_work_item_fence,
{ 3855, 4, 0, 0, 0, 23, 24 },
// 1515: atomic_init, atomic_store,
{ 3859, 3, 0, 0, 0, 23, 24 },
{ 3913, 3, 0, 0, 0, 23, 24 },
{ 3967, 3, 0, 0, 0, 23, 24 },
{ 4019, 3, 0, 0, 0, 23, 24 },
{ 4071, 3, 0, 0, 0, 23, 24 },
{ 4121, 3, 0, 0, 0, 23, 24 },
// 1521: atomic_store_explicit,
{ 3862, 4, 0, 0, 0, 23, 24 },
{ 3866, 5, 0, 0, 0, 23, 24 },
{ 3916, 4, 0, 0, 0, 23, 24 },
{ 3920, 5, 0, 0, 0, 23, 24 },
{ 3970, 4, 0, 0, 0, 23, 24 },
{ 3974, 5, 0, 0, 0, 23, 24 },
{ 4024, 4, 0, 0, 0, 23, 24 },
{ 4028, 5, 0, 0, 0, 23, 24 },
{ 4074, 4, 0, 0, 0, 23, 24 },
{ 4078, 5, 0, 0, 0, 23, 24 },
{ 4124, 4, 0, 0, 0, 23, 24 },
{ 4128, 5, 0, 0, 0, 23, 24 },
// 1533: atomic_load,
{ 3871, 2, 0, 0, 0, 23, 24 },
{ 3925, 2, 0, 0, 0, 23, 24 },
{ 3979, 2, 0, 0, 0, 23, 24 },
{ 4033, 2, 0, 0, 0, 23, 24 },
{ 4083, 2, 0, 0, 0, 23, 24 },
{ 4133, 2, 0, 0, 0, 23, 24 },
// 1539: atomic_load_explicit,
{ 3873, 3, 0, 0, 0, 23, 24 },
{ 3876, 4, 0, 0, 0, 23, 24 },
{ 3927, 3, 0, 0, 0, 23, 24 },
{ 3930, 4, 0, 0, 0, 23, 24 },
{ 3981, 3, 0, 0, 0, 23, 24 },
{ 3984, 4, 0, 0, 0, 23, 24 },
{ 4035, 3, 0, 0, 0, 23, 24 },
{ 4038, 4, 0, 0, 0, 23, 24 },
{ 4085, 3, 0, 0, 0, 23, 24 },
{ 4088, 4, 0, 0, 0, 23, 24 },
{ 4135, 3, 0, 0, 0, 23, 24 },
{ 4138, 4, 0, 0, 0, 23, 24 },
// 1551: atomic_exchange,
{ 3882, 3, 0, 0, 0, 23, 24 },
{ 3936, 3, 0, 0, 0, 23, 24 },
{ 3988, 3, 0, 0, 0, 23, 24 },
{ 4042, 3, 0, 0, 0, 23, 24 },
{ 4092, 3, 0, 0, 0, 23, 24 },
{ 4142, 3, 0, 0, 0, 23, 24 },
// 1557: atomic_exchange_explicit,
{ 3885, 4, 0, 0, 0, 23, 24 },
{ 3889, 5, 0, 0, 0, 23, 24 },
{ 3939, 4, 0, 0, 0, 23, 24 },
{ 3943, 5, 0, 0, 0, 23, 24 },
{ 3991, 4, 0, 0, 0, 23, 24 },
{ 3997, 5, 0, 0, 0, 23, 24 },
{ 4045, 4, 0, 0, 0, 23, 24 },
{ 4049, 5, 0, 0, 0, 23, 24 },
{ 4095, 4, 0, 0, 0, 23, 24 },
{ 4099, 5, 0, 0, 0, 23, 24 },
{ 4145, 4, 0, 0, 0, 23, 24 },
{ 4149, 5, 0, 0, 0, 23, 24 },
// 1569: atomic_compare_exchange_weak, atomic_compare_exchange_strong,
{ 3894, 4, 0, 0, 0, 23, 24 },
{ 3948, 4, 0, 0, 0, 23, 24 },
{ 4002, 4, 0, 0, 0, 23, 24 },
{ 4054, 4, 0, 0, 0, 23, 24 },
{ 4104, 4, 0, 0, 0, 23, 24 },
{ 4154, 4, 0, 0, 0, 23, 24 },
// 1575: atomic_compare_exchange_weak_explicit, atomic_compare_exchange_strong_explicit,
{ 3898, 6, 0, 0, 0, 23, 24 },
{ 3904, 7, 0, 0, 0, 23, 24 },
{ 3952, 6, 0, 0, 0, 23, 24 },
{ 3958, 7, 0, 0, 0, 23, 24 },
{ 4006, 6, 0, 0, 0, 23, 24 },
{ 4012, 7, 0, 0, 0, 23, 24 },
{ 4058, 6, 0, 0, 0, 23, 24 },
{ 4064, 7, 0, 0, 0, 23, 24 },
{ 4108, 6, 0, 0, 0, 23, 24 },
{ 4114, 7, 0, 0, 0, 23, 24 },
{ 4158, 6, 0, 0, 0, 23, 24 },
{ 4164, 7, 0, 0, 0, 23, 24 },
// 1587: atomic_fetch_add, atomic_fetch_sub,
{ 3882, 3, 0, 0, 0, 23, 24 },
{ 3936, 3, 0, 0, 0, 23, 24 },
{ 3988, 3, 0, 0, 0, 23, 24 },
{ 4042, 3, 0, 0, 0, 23, 24 },
{ 4171, 3, 0, 0, 0, 23, 24 },
// 1592: atomic_fetch_add_explicit, atomic_fetch_sub_explicit,
{ 3885, 4, 0, 0, 0, 23, 24 },
{ 3889, 5, 0, 0, 0, 23, 24 },
{ 3939, 4, 0, 0, 0, 23, 24 },
{ 3943, 5, 0, 0, 0, 23, 24 },
{ 3991, 4, 0, 0, 0, 23, 24 },
{ 3997, 5, 0, 0, 0, 23, 24 },
{ 4045, 4, 0, 0, 0, 23, 24 },
{ 4049, 5, 0, 0, 0, 23, 24 },
{ 4174, 4, 0, 0, 0, 23, 24 },
{ 4178, 5, 0, 0, 0, 23, 24 },
// 1602: atomic_fetch_or, atomic_fetch_xor, atomic_fetch_and, atomic_fetch_min, atomic_fetch_max,
{ 3882, 3, 0, 0, 0, 23, 24 },
{ 3936, 3, 0, 0, 0, 23, 24 },
{ 3988, 3, 0, 0, 0, 23, 24 },
{ 4042, 3, 0, 0, 0, 23, 24 },
// 1606: atomic_fetch_or_explicit, atomic_fetch_xor_explicit, atomic_fetch_and_explicit, atomic_fetch_min_explicit, atomic_fetch_max_explicit,
{ 3885, 4, 0, 0, 0, 23, 24 },
{ 3889, 5, 0, 0, 0, 23, 24 },
{ 3939, 4, 0, 0, 0, 23, 24 },
{ 3943, 5, 0, 0, 0, 23, 24 },
{ 3991, 4, 0, 0, 0, 23, 24 },
{ 3997, 5, 0, 0, 0, 23, 24 },
{ 4045, 4, 0, 0, 0, 23, 24 },
{ 4049, 5, 0, 0, 0, 23, 24 },
// 1614: atomic_flag_clear,
{ 4183, 2, 0, 0, 0, 23, 24 },
// 1615: atomic_flag_clear_explicit,
{ 4185, 3, 0, 0, 0, 23, 24 },
{ 4188, 4, 0, 0, 0, 23, 24 },
// 1617: atomic_flag_test_and_set,
{ 4192, 2, 0, 0, 0, 23, 24 },
// 1618: atomic_flag_test_and_set_explicit,
{ 4194, 3, 0, 0, 0, 23, 24 },
{ 4197, 4, 0, 0, 0, 23, 24 },
// 1620: shuffle,
{ 4201, 3, 0, 1, 0, 23, 31 },
{ 4204, 3, 0, 1, 0, 23, 31 },
{ 4207, 3, 0, 1, 0, 23, 31 },
{ 4210, 3, 0, 1, 0, 23, 31 },
{ 4213, 3, 0, 1, 0, 23, 31 },
{ 4216, 3, 0, 1, 0, 23, 31 },
{ 4219, 3, 0, 1, 0, 23, 31 },
{ 4222, 3, 0, 1, 0, 23, 31 },
{ 4225, 3, 0, 1, 0, 23, 31 },
{ 4228, 3, 0, 1, 0, 23, 31 },
{ 4231, 3, 0, 1, 0, 23, 31 },
{ 4234, 3, 0, 1, 0, 23, 31 },
{ 4237, 3, 0, 1, 0, 23, 31 },
{ 4240, 3, 0, 1, 0, 23, 31 },
{ 4243, 3, 0, 1, 0, 23, 31 },
{ 4246, 3, 0, 1, 0, 23, 31 },
{ 4249, 3, 0, 1, 0, 23, 31 },
{ 4252, 3, 0, 1, 0, 23, 31 },
{ 4255, 3, 0, 1, 0, 23, 31 },
{ 4258, 3, 0, 1, 0, 23, 31 },
{ 4261, 3, 0, 1, 0, 23, 31 },
{ 4264, 3, 0, 1, 0, 23, 31 },
{ 4267, 3, 0, 1, 0, 23, 31 },
{ 4270, 3, 0, 1, 0, 23, 31 },
{ 4273, 3, 0, 1, 0, 23, 31 },
{ 4276, 3, 0, 1, 0, 23, 31 },
{ 4279, 3, 0, 1, 0, 23, 31 },
{ 4282, 3, 0, 1, 0, 23, 31 },
{ 4285, 3, 0, 1, 0, 23, 31 },
{ 4288, 3, 0, 1, 0, 23, 31 },
{ 4291, 3, 0, 1, 0, 23, 31 },
{ 4294, 3, 0, 1, 0, 23, 31 },
{ 4297, 3, 0, 1, 0, 23, 31 },
{ 4300, 3, 0, 1, 0, 23, 31 },
{ 4303, 3, 0, 1, 0, 23, 31 },
{ 4306, 3, 0, 1, 0, 23, 31 },
{ 4309, 3, 0, 1, 0, 23, 31 },
{ 4312, 3, 0, 1, 0, 23, 31 },
{ 4315, 3, 0, 1, 0, 23, 31 },
{ 4318, 3, 0, 1, 0, 23, 31 },
{ 4321, 3, 0, 1, 0, 23, 31 },
{ 4324, 3, 0, 1, 0, 23, 31 },
{ 4327, 3, 0, 1, 0, 23, 31 },
{ 4330, 3, 0, 1, 0, 23, 31 },
{ 4333, 3, 0, 1, 0, 23, 31 },
{ 4336, 3, 0, 1, 0, 23, 31 },
{ 4339, 3, 0, 1, 0, 23, 31 },
{ 4342, 3, 0, 1, 0, 23, 31 },
{ 4345, 3, 0, 1, 0, 23, 31 },
{ 4348, 3, 0, 1, 0, 23, 31 },
{ 4351, 3, 0, 1, 0, 23, 31 },
{ 4354, 3, 0, 1, 0, 23, 31 },
{ 4357, 3, 0, 1, 0, 23, 31 },
{ 4360, 3, 0, 1, 0, 23, 31 },
{ 4363, 3, 0, 1, 0, 23, 31 },
{ 4366, 3, 0, 1, 0, 23, 31 },
{ 4369, 3, 0, 1, 0, 23, 31 },
{ 4372, 3, 0, 1, 0, 23, 31 },
{ 4375, 3, 0, 1, 0, 23, 31 },
{ 4378, 3, 0, 1, 0, 23, 31 },
{ 4381, 3, 0, 1, 0, 23, 31 },
{ 4384, 3, 0, 1, 0, 23, 31 },
{ 4387, 3, 0, 1, 0, 23, 31 },
{ 4390, 3, 0, 1, 0, 23, 31 },
{ 4393, 3, 0, 1, 0, 23, 31 },
{ 4396, 3, 0, 1, 0, 23, 31 },
{ 4399, 3, 0, 1, 0, 23, 31 },
{ 4402, 3, 0, 1, 0, 23, 31 },
{ 4405, 3, 0, 1, 0, 23, 31 },
{ 4408, 3, 0, 1, 0, 23, 31 },
{ 4411, 3, 0, 1, 0, 23, 31 },
{ 4414, 3, 0, 1, 0, 23, 31 },
{ 4417, 3, 0, 1, 0, 23, 31 },
{ 4420, 3, 0, 1, 0, 23, 31 },
{ 4423, 3, 0, 1, 0, 23, 31 },
{ 4426, 3, 0, 1, 0, 23, 31 },
{ 4429, 3, 0, 1, 0, 23, 31 },
{ 4432, 3, 0, 1, 0, 23, 31 },
{ 4435, 3, 0, 1, 0, 23, 31 },
{ 4438, 3, 0, 1, 0, 23, 31 },
{ 4441, 3, 0, 1, 0, 23, 31 },
{ 4444, 3, 0, 1, 0, 23, 31 },
{ 4447, 3, 0, 1, 0, 23, 31 },
{ 4450, 3, 0, 1, 0, 23, 31 },
{ 4453, 3, 0, 1, 0, 23, 31 },
{ 4456, 3, 0, 1, 0, 23, 31 },
{ 4459, 3, 0, 1, 0, 23, 31 },
{ 4462, 3, 0, 1, 0, 23, 31 },
{ 4465, 3, 0, 1, 0, 23, 31 },
{ 4468, 3, 0, 1, 0, 23, 31 },
{ 4471, 3, 0, 1, 0, 23, 31 },
{ 4474, 3, 0, 1, 0, 23, 31 },
{ 4477, 3, 0, 1, 0, 23, 31 },
{ 4480, 3, 0, 1, 0, 23, 31 },
{ 4483, 3, 0, 1, 0, 23, 31 },
{ 4486, 3, 0, 1, 0, 23, 31 },
{ 4489, 3, 0, 1, 0, 23, 31 },
{ 4492, 3, 0, 1, 0, 23, 31 },
{ 4495, 3, 0, 1, 0, 23, 31 },
{ 4500, 3, 0, 1, 0, 23, 31 },
{ 4503, 3, 0, 1, 0, 23, 31 },
{ 4506, 3, 0, 1, 0, 23, 31 },
{ 4509, 3, 0, 1, 0, 23, 31 },
{ 4512, 3, 0, 1, 0, 23, 31 },
{ 4515, 3, 0, 1, 0, 23, 31 },
{ 4518, 3, 0, 1, 0, 23, 31 },
{ 4521, 3, 0, 1, 0, 23, 31 },
{ 4524, 3, 0, 1, 0, 23, 31 },
{ 4527, 3, 0, 1, 0, 23, 31 },
{ 4532, 3, 0, 1, 0, 23, 31 },
{ 4535, 3, 0, 1, 0, 23, 31 },
{ 4538, 3, 0, 1, 0, 23, 31 },
{ 4541, 3, 0, 1, 0, 23, 31 },
{ 4544, 3, 0, 1, 0, 23, 31 },
{ 4547, 3, 0, 1, 0, 23, 31 },
{ 4550, 3, 0, 1, 0, 23, 31 },
{ 4553, 3, 0, 1, 0, 23, 31 },
{ 4556, 3, 0, 1, 0, 23, 31 },
{ 4559, 3, 0, 1, 0, 23, 31 },
{ 4564, 3, 0, 1, 0, 23, 31 },
{ 4567, 3, 0, 1, 0, 23, 31 },
{ 4570, 3, 0, 1, 0, 23, 31 },
{ 4573, 3, 0, 1, 0, 23, 31 },
{ 4576, 3, 0, 1, 0, 23, 31 },
{ 4579, 3, 0, 1, 0, 23, 31 },
{ 4582, 3, 0, 1, 0, 23, 31 },
{ 4585, 3, 0, 1, 0, 23, 31 },
{ 4588, 3, 0, 1, 0, 23, 31 },
{ 4591, 3, 0, 1, 0, 23, 31 },
{ 4596, 3, 0, 1, 0, 23, 31 },
{ 4599, 3, 0, 1, 0, 23, 31 },
{ 4602, 3, 0, 1, 0, 23, 31 },
{ 4605, 3, 0, 1, 0, 23, 31 },
{ 4608, 3, 0, 1, 0, 23, 31 },
{ 4611, 3, 0, 1, 0, 23, 31 },
{ 4614, 3, 0, 1, 0, 23, 31 },
{ 4617, 3, 0, 1, 0, 23, 31 },
{ 4620, 3, 0, 1, 0, 23, 31 },
{ 4623, 3, 0, 1, 0, 23, 31 },
{ 4628, 3, 0, 1, 0, 23, 31 },
{ 4631, 3, 0, 1, 0, 23, 31 },
{ 4634, 3, 0, 1, 0, 23, 31 },
{ 4637, 3, 0, 1, 0, 23, 31 },
{ 4640, 3, 0, 1, 0, 23, 31 },
{ 4643, 3, 0, 1, 0, 23, 31 },
{ 4646, 3, 0, 1, 0, 23, 31 },
{ 4649, 3, 0, 1, 0, 23, 31 },
{ 4652, 3, 0, 1, 0, 23, 31 },
{ 4655, 3, 0, 1, 0, 23, 31 },
{ 4660, 3, 0, 1, 0, 23, 31 },
{ 4663, 3, 0, 1, 0, 23, 31 },
{ 4666, 3, 0, 1, 0, 23, 31 },
{ 4669, 3, 0, 1, 0, 23, 31 },
{ 4672, 3, 0, 1, 0, 23, 31 },
{ 4675, 3, 0, 1, 0, 23, 31 },
{ 4678, 3, 0, 1, 0, 23, 31 },
{ 4681, 3, 0, 1, 0, 23, 31 },
{ 4684, 3, 0, 1, 0, 23, 31 },
{ 4687, 3, 0, 1, 0, 23, 31 },
{ 4690, 3, 0, 1, 0, 23, 31 },
{ 4693, 3, 0, 1, 0, 23, 31 },
{ 4696, 3, 0, 1, 0, 23, 31 },
{ 4699, 3, 0, 1, 0, 23, 31 },
{ 4702, 3, 0, 1, 0, 23, 31 },
{ 4705, 3, 0, 1, 0, 23, 31 },
{ 4708, 3, 0, 1, 0, 23, 31 },
{ 4711, 3, 0, 1, 0, 23, 31 },
{ 4714, 3, 0, 1, 0, 23, 31 },
{ 4717, 3, 0, 1, 0, 23, 31 },
{ 4720, 3, 0, 1, 0, 23, 31 },
{ 4723, 3, 0, 1, 0, 23, 31 },
{ 4726, 3, 0, 1, 0, 23, 31 },
{ 4729, 3, 0, 1, 0, 23, 31 },
{ 4732, 3, 0, 1, 0, 23, 31 },
{ 4735, 3, 0, 1, 0, 23, 31 },
{ 4738, 3, 0, 1, 0, 23, 31 },
// 1796: shuffle2,
{ 4741, 4, 0, 1, 0, 23, 31 },
{ 4745, 4, 0, 1, 0, 23, 31 },
{ 4749, 4, 0, 1, 0, 23, 31 },
{ 4753, 4, 0, 1, 0, 23, 31 },
{ 4757, 4, 0, 1, 0, 23, 31 },
{ 4761, 4, 0, 1, 0, 23, 31 },
{ 4765, 4, 0, 1, 0, 23, 31 },
{ 4769, 4, 0, 1, 0, 23, 31 },
{ 4773, 4, 0, 1, 0, 23, 31 },
{ 4777, 4, 0, 1, 0, 23, 31 },
{ 4781, 4, 0, 1, 0, 23, 31 },
{ 4785, 4, 0, 1, 0, 23, 31 },
{ 4789, 4, 0, 1, 0, 23, 31 },
{ 4793, 4, 0, 1, 0, 23, 31 },
{ 4797, 4, 0, 1, 0, 23, 31 },
{ 4801, 4, 0, 1, 0, 23, 31 },
{ 4805, 4, 0, 1, 0, 23, 31 },
{ 4809, 4, 0, 1, 0, 23, 31 },
{ 4813, 4, 0, 1, 0, 23, 31 },
{ 4817, 4, 0, 1, 0, 23, 31 },
{ 4821, 4, 0, 1, 0, 23, 31 },
{ 4825, 4, 0, 1, 0, 23, 31 },
{ 4829, 4, 0, 1, 0, 23, 31 },
{ 4833, 4, 0, 1, 0, 23, 31 },
{ 4837, 4, 0, 1, 0, 23, 31 },
{ 4841, 4, 0, 1, 0, 23, 31 },
{ 4845, 4, 0, 1, 0, 23, 31 },
{ 4849, 4, 0, 1, 0, 23, 31 },
{ 4853, 4, 0, 1, 0, 23, 31 },
{ 4857, 4, 0, 1, 0, 23, 31 },
{ 4861, 4, 0, 1, 0, 23, 31 },
{ 4865, 4, 0, 1, 0, 23, 31 },
{ 4869, 4, 0, 1, 0, 23, 31 },
{ 4873, 4, 0, 1, 0, 23, 31 },
{ 4877, 4, 0, 1, 0, 23, 31 },
{ 4881, 4, 0, 1, 0, 23, 31 },
{ 4885, 4, 0, 1, 0, 23, 31 },
{ 4889, 4, 0, 1, 0, 23, 31 },
{ 4893, 4, 0, 1, 0, 23, 31 },
{ 4897, 4, 0, 1, 0, 23, 31 },
{ 4901, 4, 0, 1, 0, 23, 31 },
{ 4905, 4, 0, 1, 0, 23, 31 },
{ 4909, 4, 0, 1, 0, 23, 31 },
{ 4913, 4, 0, 1, 0, 23, 31 },
{ 4917, 4, 0, 1, 0, 23, 31 },
{ 4921, 4, 0, 1, 0, 23, 31 },
{ 4925, 4, 0, 1, 0, 23, 31 },
{ 4929, 4, 0, 1, 0, 23, 31 },
{ 4933, 4, 0, 1, 0, 23, 31 },
{ 4937, 4, 0, 1, 0, 23, 31 },
{ 4941, 4, 0, 1, 0, 23, 31 },
{ 4945, 4, 0, 1, 0, 23, 31 },
{ 4949, 4, 0, 1, 0, 23, 31 },
{ 4953, 4, 0, 1, 0, 23, 31 },
{ 4957, 4, 0, 1, 0, 23, 31 },
{ 4961, 4, 0, 1, 0, 23, 31 },
{ 4965, 4, 0, 1, 0, 23, 31 },
{ 4969, 4, 0, 1, 0, 23, 31 },
{ 4973, 4, 0, 1, 0, 23, 31 },
{ 4977, 4, 0, 1, 0, 23, 31 },
{ 4981, 4, 0, 1, 0, 23, 31 },
{ 4985, 4, 0, 1, 0, 23, 31 },
{ 4989, 4, 0, 1, 0, 23, 31 },
{ 4993, 4, 0, 1, 0, 23, 31 },
{ 4997, 4, 0, 1, 0, 23, 31 },
{ 5001, 4, 0, 1, 0, 23, 31 },
{ 5005, 4, 0, 1, 0, 23, 31 },
{ 5009, 4, 0, 1, 0, 23, 31 },
{ 5013, 4, 0, 1, 0, 23, 31 },
{ 5017, 4, 0, 1, 0, 23, 31 },
{ 5021, 4, 0, 1, 0, 23, 31 },
{ 5025, 4, 0, 1, 0, 23, 31 },
{ 5029, 4, 0, 1, 0, 23, 31 },
{ 5033, 4, 0, 1, 0, 23, 31 },
{ 5037, 4, 0, 1, 0, 23, 31 },
{ 5041, 4, 0, 1, 0, 23, 31 },
{ 5045, 4, 0, 1, 0, 23, 31 },
{ 5049, 4, 0, 1, 0, 23, 31 },
{ 5053, 4, 0, 1, 0, 23, 31 },
{ 5057, 4, 0, 1, 0, 23, 31 },
{ 5061, 4, 0, 1, 0, 23, 31 },
{ 5065, 4, 0, 1, 0, 23, 31 },
{ 5069, 4, 0, 1, 0, 23, 31 },
{ 5073, 4, 0, 1, 0, 23, 31 },
{ 5077, 4, 0, 1, 0, 23, 31 },
{ 5081, 4, 0, 1, 0, 23, 31 },
{ 5085, 4, 0, 1, 0, 23, 31 },
{ 5089, 4, 0, 1, 0, 23, 31 },
{ 5093, 4, 0, 1, 0, 23, 31 },
{ 5097, 4, 0, 1, 0, 23, 31 },
{ 5101, 4, 0, 1, 0, 23, 31 },
{ 5105, 4, 0, 1, 0, 23, 31 },
{ 5109, 4, 0, 1, 0, 23, 31 },
{ 5113, 4, 0, 1, 0, 23, 31 },
{ 5117, 4, 0, 1, 0, 23, 31 },
{ 5121, 4, 0, 1, 0, 23, 31 },
{ 5125, 4, 0, 1, 0, 23, 31 },
{ 5129, 4, 0, 1, 0, 23, 31 },
{ 5133, 4, 0, 1, 0, 23, 31 },
{ 5137, 4, 0, 1, 0, 23, 31 },
{ 5141, 4, 0, 1, 0, 23, 31 },
{ 5145, 4, 0, 1, 0, 23, 31 },
{ 5149, 4, 0, 1, 0, 23, 31 },
{ 5153, 4, 0, 1, 0, 23, 31 },
{ 5157, 4, 0, 1, 0, 23, 31 },
{ 5161, 4, 0, 1, 0, 23, 31 },
{ 5165, 4, 0, 1, 0, 23, 31 },
{ 5169, 4, 0, 1, 0, 23, 31 },
{ 5173, 4, 0, 1, 0, 23, 31 },
{ 5177, 4, 0, 1, 0, 23, 31 },
{ 5181, 4, 0, 1, 0, 23, 31 },
{ 5185, 4, 0, 1, 0, 23, 31 },
{ 5189, 4, 0, 1, 0, 23, 31 },
{ 5193, 4, 0, 1, 0, 23, 31 },
{ 5197, 4, 0, 1, 0, 23, 31 },
{ 5201, 4, 0, 1, 0, 23, 31 },
{ 5205, 4, 0, 1, 0, 23, 31 },
{ 5209, 4, 0, 1, 0, 23, 31 },
{ 5213, 4, 0, 1, 0, 23, 31 },
{ 5217, 4, 0, 1, 0, 23, 31 },
{ 5221, 4, 0, 1, 0, 23, 31 },
{ 5225, 4, 0, 1, 0, 23, 31 },
{ 5229, 4, 0, 1, 0, 23, 31 },
{ 5233, 4, 0, 1, 0, 23, 31 },
{ 5237, 4, 0, 1, 0, 23, 31 },
{ 5241, 4, 0, 1, 0, 23, 31 },
{ 5245, 4, 0, 1, 0, 23, 31 },
{ 5249, 4, 0, 1, 0, 23, 31 },
{ 5253, 4, 0, 1, 0, 23, 31 },
{ 5257, 4, 0, 1, 0, 23, 31 },
{ 5261, 4, 0, 1, 0, 23, 31 },
{ 5265, 4, 0, 1, 0, 23, 31 },
{ 5269, 4, 0, 1, 0, 23, 31 },
{ 5273, 4, 0, 1, 0, 23, 31 },
{ 5277, 4, 0, 1, 0, 23, 31 },
{ 5281, 4, 0, 1, 0, 23, 31 },
{ 5285, 4, 0, 1, 0, 23, 31 },
{ 5289, 4, 0, 1, 0, 23, 31 },
{ 5293, 4, 0, 1, 0, 23, 31 },
{ 5297, 4, 0, 1, 0, 23, 31 },
{ 5301, 4, 0, 1, 0, 23, 31 },
{ 5305, 4, 0, 1, 0, 23, 31 },
{ 5309, 4, 0, 1, 0, 23, 31 },
{ 5313, 4, 0, 1, 0, 23, 31 },
{ 5317, 4, 0, 1, 0, 23, 31 },
{ 5321, 4, 0, 1, 0, 23, 31 },
{ 5325, 4, 0, 1, 0, 23, 31 },
{ 5329, 4, 0, 1, 0, 23, 31 },
{ 5333, 4, 0, 1, 0, 23, 31 },
{ 5337, 4, 0, 1, 0, 23, 31 },
{ 5341, 4, 0, 1, 0, 23, 31 },
{ 5345, 4, 0, 1, 0, 23, 31 },
{ 5349, 4, 0, 1, 0, 23, 31 },
{ 5353, 4, 0, 1, 0, 23, 31 },
{ 5357, 4, 0, 1, 0, 23, 31 },
{ 5361, 4, 0, 1, 0, 23, 31 },
{ 5365, 4, 0, 1, 0, 23, 31 },
{ 5369, 4, 0, 1, 0, 23, 31 },
{ 5373, 4, 0, 1, 0, 23, 31 },
{ 5377, 4, 0, 1, 0, 23, 31 },
{ 5381, 4, 0, 1, 0, 23, 31 },
{ 5385, 4, 0, 1, 0, 23, 31 },
{ 5389, 4, 0, 1, 0, 23, 31 },
{ 5393, 4, 0, 1, 0, 23, 31 },
{ 5397, 4, 0, 1, 0, 23, 31 },
{ 5401, 4, 0, 1, 0, 23, 31 },
{ 5405, 4, 0, 1, 0, 23, 31 },
{ 5409, 4, 0, 1, 0, 23, 31 },
{ 5413, 4, 0, 1, 0, 23, 31 },
{ 5417, 4, 0, 1, 0, 23, 31 },
{ 5421, 4, 0, 1, 0, 23, 31 },
{ 5425, 4, 0, 1, 0, 23, 31 },
{ 5429, 4, 0, 1, 0, 23, 31 },
{ 5433, 4, 0, 1, 0, 23, 31 },
{ 5437, 4, 0, 1, 0, 23, 31 },
{ 5441, 4, 0, 1, 0, 23, 31 },
// 1972: read_imagef,
{ 5445, 4, 1, 0, 0, 23, 31 },
{ 5457, 4, 1, 0, 0, 23, 31 },
{ 5469, 4, 1, 0, 0, 23, 31 },
{ 5481, 4, 1, 0, 0, 23, 31 },
{ 5493, 4, 1, 0, 0, 23, 31 },
{ 5505, 4, 1, 0, 0, 23, 31 },
{ 5517, 4, 1, 0, 0, 23, 31 },
{ 5529, 4, 1, 0, 0, 23, 31 },
{ 5541, 4, 1, 0, 0, 23, 31 },
{ 5553, 4, 1, 0, 0, 23, 31 },
{ 5565, 4, 1, 0, 0, 23, 31 },
{ 5569, 4, 1, 0, 0, 23, 31 },
{ 5573, 4, 1, 0, 0, 23, 31 },
{ 5579, 4, 1, 0, 0, 23, 31 },
{ 5583, 3, 1, 0, 0, 23, 28 },
{ 5592, 3, 1, 0, 0, 23, 28 },
{ 5601, 3, 1, 0, 0, 23, 28 },
{ 5612, 3, 1, 0, 0, 23, 28 },
{ 5615, 3, 1, 0, 0, 23, 28 },
{ 5618, 3, 1, 0, 0, 23, 28 },
{ 5627, 3, 1, 0, 0, 23, 28 },
{ 5638, 3, 1, 0, 0, 23, 28 },
{ 5647, 3, 1, 0, 0, 23, 28 },
{ 5658, 3, 1, 0, 0, 23, 28 },
{ 5667, 3, 1, 0, 0, 23, 28 },
{ 5678, 3, 1, 0, 0, 23, 28 },
{ 5687, 3, 1, 0, 0, 23, 28 },
{ 5698, 3, 1, 0, 0, 23, 28 },
{ 5707, 3, 1, 0, 0, 23, 28 },
{ 5710, 3, 1, 0, 0, 23, 28 },
{ 6147, 5, 1, 0, 0, 12, 31 },
{ 6152, 6, 1, 0, 0, 12, 31 },
{ 6180, 5, 1, 0, 0, 12, 31 },
{ 6185, 6, 1, 0, 0, 12, 31 },
{ 6191, 5, 1, 0, 0, 12, 31 },
{ 6198, 6, 1, 0, 0, 12, 31 },
{ 6226, 6, 1, 0, 0, 12, 31 },
{ 6232, 5, 1, 0, 0, 12, 31 },
{ 6261, 5, 1, 0, 0, 12, 31 },
{ 6266, 6, 1, 0, 0, 12, 31 },
{ 6294, 5, 1, 0, 0, 12, 31 },
{ 6299, 6, 1, 0, 0, 12, 31 },
{ 6329, 5, 1, 0, 0, 12, 31 },
{ 6334, 6, 1, 0, 0, 12, 31 },
{ 6429, 4, 1, 0, 0, 5, 31 },
{ 6441, 4, 1, 0, 0, 5, 31 },
{ 6453, 4, 1, 0, 0, 5, 31 },
{ 6457, 4, 1, 0, 0, 5, 31 },
{ 6461, 4, 1, 0, 0, 5, 31 },
{ 6473, 4, 1, 0, 0, 5, 31 },
{ 6485, 4, 1, 0, 0, 5, 31 },
{ 6489, 4, 1, 0, 0, 5, 31 },
// 2024: read_imagei,
{ 5449, 4, 1, 0, 0, 23, 31 },
{ 5461, 4, 1, 0, 0, 23, 31 },
{ 5473, 4, 1, 0, 0, 23, 31 },
{ 5485, 4, 1, 0, 0, 23, 31 },
{ 5497, 4, 1, 0, 0, 23, 31 },
{ 5509, 4, 1, 0, 0, 23, 31 },
{ 5521, 4, 1, 0, 0, 23, 31 },
{ 5533, 4, 1, 0, 0, 23, 31 },
{ 5545, 4, 1, 0, 0, 23, 31 },
{ 5557, 4, 1, 0, 0, 23, 31 },
{ 5586, 3, 1, 0, 0, 23, 28 },
{ 5595, 3, 1, 0, 0, 23, 28 },
{ 5604, 3, 1, 0, 0, 23, 28 },
{ 5621, 3, 1, 0, 0, 23, 28 },
{ 5630, 3, 1, 0, 0, 23, 28 },
{ 5641, 3, 1, 0, 0, 23, 28 },
{ 5650, 3, 1, 0, 0, 23, 28 },
{ 5661, 3, 1, 0, 0, 23, 28 },
{ 5670, 3, 1, 0, 0, 23, 28 },
{ 5681, 3, 1, 0, 0, 23, 28 },
{ 5690, 3, 1, 0, 0, 23, 28 },
{ 5701, 3, 1, 0, 0, 23, 28 },
{ 6158, 5, 1, 0, 0, 12, 31 },
{ 6163, 6, 1, 0, 0, 12, 31 },
{ 6204, 5, 1, 0, 0, 12, 31 },
{ 6209, 6, 1, 0, 0, 12, 31 },
{ 6237, 6, 1, 0, 0, 12, 31 },
{ 6243, 5, 1, 0, 0, 12, 31 },
{ 6272, 5, 1, 0, 0, 12, 31 },
{ 6277, 6, 1, 0, 0, 12, 31 },
{ 6305, 5, 1, 0, 0, 12, 31 },
{ 6312, 6, 1, 0, 0, 12, 31 },
{ 6433, 4, 1, 0, 0, 5, 31 },
{ 6445, 4, 1, 0, 0, 5, 31 },
{ 6465, 4, 1, 0, 0, 5, 31 },
{ 6477, 4, 1, 0, 0, 5, 31 },
// 2060: read_imageui,
{ 5453, 4, 1, 0, 0, 23, 31 },
{ 5465, 4, 1, 0, 0, 23, 31 },
{ 5477, 4, 1, 0, 0, 23, 31 },
{ 5489, 4, 1, 0, 0, 23, 31 },
{ 5501, 4, 1, 0, 0, 23, 31 },
{ 5513, 4, 1, 0, 0, 23, 31 },
{ 5525, 4, 1, 0, 0, 23, 31 },
{ 5537, 4, 1, 0, 0, 23, 31 },
{ 5549, 4, 1, 0, 0, 23, 31 },
{ 5561, 4, 1, 0, 0, 23, 31 },
{ 5589, 3, 1, 0, 0, 23, 28 },
{ 5598, 3, 1, 0, 0, 23, 28 },
{ 5607, 3, 1, 0, 0, 23, 28 },
{ 5624, 3, 1, 0, 0, 23, 28 },
{ 5633, 3, 1, 0, 0, 23, 28 },
{ 5644, 3, 1, 0, 0, 23, 28 },
{ 5653, 3, 1, 0, 0, 23, 28 },
{ 5664, 3, 1, 0, 0, 23, 28 },
{ 5673, 3, 1, 0, 0, 23, 28 },
{ 5684, 3, 1, 0, 0, 23, 28 },
{ 5693, 3, 1, 0, 0, 23, 28 },
{ 5704, 3, 1, 0, 0, 23, 28 },
{ 6169, 5, 1, 0, 0, 12, 31 },
{ 6174, 6, 1, 0, 0, 12, 31 },
{ 6215, 5, 1, 0, 0, 12, 31 },
{ 6220, 6, 1, 0, 0, 12, 31 },
{ 6248, 6, 1, 0, 0, 12, 31 },
{ 6256, 5, 1, 0, 0, 12, 31 },
{ 6283, 5, 1, 0, 0, 12, 31 },
{ 6288, 6, 1, 0, 0, 12, 31 },
{ 6318, 5, 1, 0, 0, 12, 31 },
{ 6323, 6, 1, 0, 0, 12, 31 },
{ 6437, 4, 1, 0, 0, 5, 31 },
{ 6449, 4, 1, 0, 0, 5, 31 },
{ 6469, 4, 1, 0, 0, 5, 31 },
{ 6481, 4, 1, 0, 0, 5, 31 },
// 2096: write_imagef,
{ 5713, 4, 0, 0, 0, 23, 31 },
{ 5725, 4, 0, 0, 0, 23, 31 },
{ 5737, 4, 0, 0, 0, 23, 31 },
{ 5749, 4, 0, 0, 0, 23, 31 },
{ 5761, 4, 0, 0, 0, 23, 31 },
{ 5773, 4, 0, 0, 0, 23, 31 },
{ 5777, 4, 0, 0, 0, 23, 31 },
{ 5781, 4, 0, 0, 0, 23, 31 },
{ 5793, 4, 0, 0, 0, 23, 31 },
{ 5805, 4, 0, 0, 0, 23, 31 },
{ 5817, 4, 0, 0, 0, 23, 31 },
{ 5829, 4, 0, 0, 0, 23, 31 },
{ 5841, 4, 0, 0, 0, 23, 31 },
{ 5853, 4, 0, 0, 0, 23, 31 },
{ 5865, 4, 0, 0, 0, 23, 31 },
{ 5869, 4, 0, 0, 0, 23, 31 },
{ 6344, 5, 0, 0, 0, 13, 31 },
{ 6359, 5, 0, 0, 0, 13, 31 },
{ 6364, 5, 0, 0, 0, 13, 31 },
{ 6379, 5, 0, 0, 0, 13, 31 },
{ 6394, 5, 0, 0, 0, 13, 31 },
{ 6409, 5, 0, 0, 0, 13, 31 },
{ 6414, 5, 0, 0, 0, 14, 31 },
// 2119: write_imagei,
{ 5717, 4, 0, 0, 0, 23, 31 },
{ 5729, 4, 0, 0, 0, 23, 31 },
{ 5741, 4, 0, 0, 0, 23, 31 },
{ 5753, 4, 0, 0, 0, 23, 31 },
{ 5765, 4, 0, 0, 0, 23, 31 },
{ 5785, 4, 0, 0, 0, 23, 31 },
{ 5797, 4, 0, 0, 0, 23, 31 },
{ 5809, 4, 0, 0, 0, 23, 31 },
{ 5821, 4, 0, 0, 0, 23, 31 },
{ 5833, 4, 0, 0, 0, 23, 31 },
{ 5845, 4, 0, 0, 0, 23, 31 },
{ 5857, 4, 0, 0, 0, 23, 31 },
{ 6349, 5, 0, 0, 0, 13, 31 },
{ 6369, 5, 0, 0, 0, 13, 31 },
{ 6384, 5, 0, 0, 0, 13, 31 },
{ 6399, 5, 0, 0, 0, 13, 31 },
{ 6419, 5, 0, 0, 0, 14, 31 },
// 2136: write_imageui,
{ 5721, 4, 0, 0, 0, 23, 31 },
{ 5733, 4, 0, 0, 0, 23, 31 },
{ 5745, 4, 0, 0, 0, 23, 31 },
{ 5757, 4, 0, 0, 0, 23, 31 },
{ 5769, 4, 0, 0, 0, 23, 31 },
{ 5789, 4, 0, 0, 0, 23, 31 },
{ 5801, 4, 0, 0, 0, 23, 31 },
{ 5813, 4, 0, 0, 0, 23, 31 },
{ 5825, 4, 0, 0, 0, 23, 31 },
{ 5837, 4, 0, 0, 0, 23, 31 },
{ 5849, 4, 0, 0, 0, 23, 31 },
{ 5861, 4, 0, 0, 0, 23, 31 },
{ 6354, 5, 0, 0, 0, 13, 31 },
{ 6374, 5, 0, 0, 0, 13, 31 },
{ 6389, 5, 0, 0, 0, 13, 31 },
{ 6404, 5, 0, 0, 0, 13, 31 },
{ 6424, 5, 0, 0, 0, 14, 31 },
// 2153: get_image_width, get_image_channel_data_type, get_image_channel_order,
{ 5873, 2, 0, 1, 0, 23, 31 },
{ 5885, 2, 0, 1, 0, 23, 31 },
{ 5875, 2, 0, 1, 0, 23, 31 },
{ 5877, 2, 0, 1, 0, 23, 31 },
{ 5887, 2, 0, 1, 0, 23, 31 },
{ 5889, 2, 0, 1, 0, 23, 31 },
{ 5891, 2, 0, 1, 0, 23, 31 },
{ 5893, 2, 0, 1, 0, 23, 31 },
{ 5905, 2, 0, 1, 0, 23, 31 },
{ 5907, 2, 0, 1, 0, 23, 31 },
{ 5909, 2, 0, 1, 0, 23, 31 },
{ 5911, 2, 0, 1, 0, 23, 31 },
{ 5913, 2, 0, 1, 0, 23, 31 },
{ 5915, 2, 0, 1, 0, 23, 31 },
{ 5917, 2, 0, 1, 0, 23, 31 },
{ 5919, 2, 0, 1, 0, 23, 31 },
{ 5937, 2, 0, 1, 0, 23, 31 },
{ 5939, 2, 0, 1, 0, 23, 31 },
{ 5941, 2, 0, 1, 0, 23, 31 },
{ 5943, 2, 0, 1, 0, 23, 31 },
{ 5945, 2, 0, 1, 0, 23, 31 },
{ 5947, 2, 0, 1, 0, 23, 31 },
{ 5949, 2, 0, 1, 0, 23, 31 },
{ 5951, 2, 0, 1, 0, 23, 31 },
{ 6493, 2, 0, 1, 0, 5, 31 },
{ 6499, 2, 0, 1, 0, 5, 31 },
{ 6503, 2, 0, 1, 0, 5, 31 },
{ 6507, 2, 0, 1, 0, 5, 31 },
{ 6513, 2, 0, 1, 0, 5, 31 },
{ 6517, 2, 0, 1, 0, 5, 31 },
{ 6521, 2, 0, 1, 0, 5, 31 },
{ 6525, 2, 0, 1, 0, 5, 31 },
{ 6533, 2, 0, 1, 0, 5, 31 },
{ 6537, 2, 0, 1, 0, 5, 31 },
{ 6541, 2, 0, 1, 0, 5, 31 },
{ 6545, 2, 0, 1, 0, 5, 31 },
// 2189: get_image_height,
{ 5875, 2, 0, 1, 0, 23, 31 },
{ 5877, 2, 0, 1, 0, 23, 31 },
{ 5889, 2, 0, 1, 0, 23, 31 },
{ 5891, 2, 0, 1, 0, 23, 31 },
{ 5893, 2, 0, 1, 0, 23, 31 },
{ 5909, 2, 0, 1, 0, 23, 31 },
{ 5911, 2, 0, 1, 0, 23, 31 },
{ 5915, 2, 0, 1, 0, 23, 31 },
{ 5917, 2, 0, 1, 0, 23, 31 },
{ 5919, 2, 0, 1, 0, 23, 31 },
{ 5941, 2, 0, 1, 0, 23, 31 },
{ 5943, 2, 0, 1, 0, 23, 31 },
{ 5947, 2, 0, 1, 0, 23, 31 },
{ 5949, 2, 0, 1, 0, 23, 31 },
{ 5951, 2, 0, 1, 0, 23, 31 },
{ 6493, 2, 0, 1, 0, 5, 31 },
{ 6499, 2, 0, 1, 0, 5, 31 },
{ 6503, 2, 0, 1, 0, 5, 31 },
{ 6507, 2, 0, 1, 0, 5, 31 },
{ 6513, 2, 0, 1, 0, 5, 31 },
{ 6517, 2, 0, 1, 0, 5, 31 },
{ 6521, 2, 0, 1, 0, 5, 31 },
{ 6525, 2, 0, 1, 0, 5, 31 },
{ 6533, 2, 0, 1, 0, 5, 31 },
{ 6537, 2, 0, 1, 0, 5, 31 },
{ 6541, 2, 0, 1, 0, 5, 31 },
{ 6545, 2, 0, 1, 0, 5, 31 },
// 2216: get_image_depth,
{ 5877, 2, 0, 1, 0, 23, 31 },
{ 5911, 2, 0, 1, 0, 23, 31 },
{ 5943, 2, 0, 1, 0, 23, 31 },
// 2219: get_image_dim,
{ 5879, 2, 0, 1, 0, 23, 31 },
{ 5881, 2, 0, 1, 0, 23, 31 },
{ 5895, 2, 0, 1, 0, 23, 31 },
{ 5897, 2, 0, 1, 0, 23, 31 },
{ 5899, 2, 0, 1, 0, 23, 31 },
{ 5921, 2, 0, 1, 0, 23, 31 },
{ 5923, 2, 0, 1, 0, 23, 31 },
{ 5925, 2, 0, 1, 0, 23, 31 },
{ 5927, 2, 0, 1, 0, 23, 31 },
{ 5929, 2, 0, 1, 0, 23, 31 },
{ 5953, 2, 0, 1, 0, 23, 31 },
{ 5955, 2, 0, 1, 0, 23, 31 },
{ 5957, 2, 0, 1, 0, 23, 31 },
{ 5959, 2, 0, 1, 0, 23, 31 },
{ 5961, 2, 0, 1, 0, 23, 31 },
{ 6495, 2, 0, 1, 0, 5, 31 },
{ 6501, 2, 0, 1, 0, 5, 31 },
{ 6505, 2, 0, 1, 0, 5, 31 },
{ 6509, 2, 0, 1, 0, 5, 31 },
{ 6515, 2, 0, 1, 0, 5, 31 },
{ 6519, 2, 0, 1, 0, 5, 31 },
{ 6523, 2, 0, 1, 0, 5, 31 },
{ 6527, 2, 0, 1, 0, 5, 31 },
{ 6535, 2, 0, 1, 0, 5, 31 },
{ 6539, 2, 0, 1, 0, 5, 31 },
{ 6543, 2, 0, 1, 0, 5, 31 },
{ 6547, 2, 0, 1, 0, 5, 31 },
// 2246: get_image_array_size,
{ 5883, 2, 0, 1, 0, 23, 31 },
{ 5901, 2, 0, 1, 0, 23, 31 },
{ 5903, 2, 0, 1, 0, 23, 31 },
{ 5931, 2, 0, 1, 0, 23, 31 },
{ 5933, 2, 0, 1, 0, 23, 31 },
{ 5935, 2, 0, 1, 0, 23, 31 },
{ 5963, 2, 0, 1, 0, 23, 31 },
{ 5965, 2, 0, 1, 0, 23, 31 },
{ 5967, 2, 0, 1, 0, 23, 31 },
{ 6497, 2, 0, 1, 0, 5, 31 },
{ 6511, 2, 0, 1, 0, 5, 31 },
{ 6529, 2, 0, 1, 0, 5, 31 },
{ 6531, 2, 0, 1, 0, 5, 31 },
{ 6549, 2, 0, 1, 0, 5, 31 },
{ 6551, 2, 0, 1, 0, 5, 31 },
// 2261: read_imageh,
{ 5969, 4, 1, 0, 0, 23, 31 },
{ 5973, 4, 1, 0, 0, 23, 31 },
{ 5977, 4, 1, 0, 0, 23, 31 },
{ 5981, 4, 1, 0, 0, 23, 31 },
{ 5985, 4, 1, 0, 0, 23, 31 },
{ 5989, 4, 1, 0, 0, 23, 31 },
{ 5993, 4, 1, 0, 0, 23, 31 },
{ 5997, 4, 1, 0, 0, 23, 31 },
{ 6001, 4, 1, 0, 0, 23, 31 },
{ 6005, 4, 1, 0, 0, 23, 31 },
{ 6009, 3, 1, 0, 0, 23, 28 },
{ 6012, 3, 1, 0, 0, 23, 28 },
{ 6015, 3, 1, 0, 0, 23, 28 },
{ 6018, 3, 1, 0, 0, 23, 28 },
{ 6021, 3, 1, 0, 0, 23, 28 },
{ 6024, 3, 1, 0, 0, 23, 28 },
{ 6027, 3, 1, 0, 0, 23, 28 },
{ 6030, 3, 1, 0, 0, 23, 28 },
{ 6033, 3, 1, 0, 0, 23, 28 },
{ 6036, 3, 1, 0, 0, 23, 28 },
{ 6039, 3, 1, 0, 0, 23, 28 },
{ 6042, 3, 1, 0, 0, 23, 28 },
// 2283: write_imageh,
{ 6045, 4, 0, 0, 0, 23, 31 },
{ 6049, 4, 0, 0, 0, 23, 31 },
{ 6053, 4, 0, 0, 0, 23, 31 },
{ 6057, 4, 0, 0, 0, 23, 31 },
{ 6061, 4, 0, 0, 0, 23, 31 },
{ 6065, 4, 0, 0, 0, 23, 31 },
{ 6069, 4, 0, 0, 0, 23, 31 },
{ 6073, 4, 0, 0, 0, 23, 31 },
{ 6077, 4, 0, 0, 0, 23, 31 },
{ 6081, 4, 0, 0, 0, 23, 31 },
{ 6085, 4, 0, 0, 0, 23, 31 },
{ 6089, 4, 0, 0, 0, 23, 31 },
// 2295: work_group_all, work_group_any,
{ 772, 2, 0, 0, 1, 25, 31 },
// 2296: work_group_broadcast,
{ 6093, 3, 0, 0, 1, 25, 31 },
{ 6096, 4, 0, 0, 1, 25, 31 },
{ 6100, 5, 0, 0, 1, 25, 31 },
// 2299: work_group_reduce_add, work_group_scan_exclusive_add, work_group_scan_inclusive_add, work_group_reduce_min, work_group_scan_exclusive_min, work_group_scan_inclusive_min, work_group_reduce_max, work_group_scan_exclusive_max, work_group_scan_inclusive_max,
{ 6105, 2, 0, 0, 1, 25, 31 },
// 2300: is_valid_reserve_id,
{ 6107, 2, 0, 0, 0, 24, 31 },
// 2301: enqueue_marker,
{ 6109, 5, 0, 0, 0, 23, 24 },
// 2302: retain_event, release_event,
{ 6114, 2, 0, 0, 0, 23, 24 },
// 2303: create_user_event,
{ 6116, 1, 0, 0, 0, 23, 24 },
// 2304: is_valid_event,
{ 6117, 2, 0, 0, 0, 23, 24 },
// 2305: set_user_event_status,
{ 6119, 3, 0, 0, 0, 23, 24 },
// 2306: capture_event_profiling_info,
{ 6122, 4, 0, 0, 0, 23, 24 },
// 2307: get_default_queue,
{ 6126, 1, 0, 0, 0, 23, 24 },
// 2308: ndrange_1D,
{ 6127, 2, 0, 0, 0, 23, 24 },
{ 6129, 3, 0, 0, 0, 23, 24 },
{ 6132, 4, 0, 0, 0, 23, 24 },
// 2311: ndrange_2D, ndrange_3D,
{ 6136, 2, 0, 0, 0, 23, 24 },
{ 6138, 3, 0, 0, 0, 23, 24 },
{ 6141, 4, 0, 0, 0, 23, 24 },
// 2314: get_image_num_mip_levels,
{ 5873, 2, 0, 0, 0, 12, 31 },
{ 5875, 2, 0, 0, 0, 12, 31 },
{ 5877, 2, 0, 0, 0, 12, 31 },
{ 5887, 2, 0, 0, 0, 12, 31 },
{ 5889, 2, 0, 0, 0, 12, 31 },
{ 5891, 2, 0, 0, 0, 12, 31 },
{ 5893, 2, 0, 0, 0, 12, 31 },
{ 5905, 2, 0, 0, 0, 12, 31 },
{ 5909, 2, 0, 0, 0, 12, 31 },
{ 5911, 2, 0, 0, 0, 12, 31 },
{ 5913, 2, 0, 0, 0, 12, 31 },
{ 5915, 2, 0, 0, 0, 12, 31 },
{ 5917, 2, 0, 0, 0, 12, 31 },
{ 5919, 2, 0, 0, 0, 12, 31 },
{ 5937, 2, 0, 0, 0, 12, 31 },
{ 5941, 2, 0, 0, 0, 12, 31 },
{ 5943, 2, 0, 0, 0, 12, 31 },
{ 5945, 2, 0, 0, 0, 12, 31 },
{ 5947, 2, 0, 0, 0, 12, 31 },
{ 5949, 2, 0, 0, 0, 12, 31 },
{ 5951, 2, 0, 0, 0, 12, 31 },
// 2335: get_image_num_samples,
{ 6493, 2, 0, 1, 0, 5, 31 },
{ 6499, 2, 0, 1, 0, 5, 31 },
{ 6503, 2, 0, 1, 0, 5, 31 },
{ 6507, 2, 0, 1, 0, 5, 31 },
{ 6513, 2, 0, 1, 0, 5, 31 },
{ 6517, 2, 0, 1, 0, 5, 31 },
{ 6521, 2, 0, 1, 0, 5, 31 },
{ 6525, 2, 0, 1, 0, 5, 31 },
{ 6533, 2, 0, 1, 0, 5, 31 },
{ 6537, 2, 0, 1, 0, 5, 31 },
{ 6541, 2, 0, 1, 0, 5, 31 },
{ 6545, 2, 0, 1, 0, 5, 31 },
// 2347: get_sub_group_size, get_max_sub_group_size, get_num_sub_groups, get_sub_group_id, get_sub_group_local_id,
{ 1310, 1, 0, 0, 0, 22, 31 },
// 2348: get_enqueued_num_sub_groups,
{ 1310, 1, 0, 0, 0, 22, 24 },
// 2349: sub_group_barrier,
{ 3722, 2, 0, 0, 1, 22, 31 },
{ 3724, 3, 0, 0, 1, 22, 31 },
// 2351: sub_group_all, sub_group_any,
{ 772, 2, 0, 0, 1, 22, 31 },
// 2352: sub_group_broadcast,
{ 6553, 3, 0, 0, 1, 22, 31 },
{ 6556, 3, 0, 0, 1, 17, 31 },
{ 6559, 3, 0, 0, 1, 17, 31 },
// 2355: sub_group_reduce_add, sub_group_reduce_min, sub_group_reduce_max, sub_group_scan_exclusive_add, sub_group_scan_exclusive_min, sub_group_scan_exclusive_max, sub_group_scan_inclusive_add, sub_group_scan_inclusive_min, sub_group_scan_inclusive_max,
{ 6105, 2, 0, 0, 1, 22, 31 },
{ 6562, 2, 0, 0, 1, 17, 31 },
// 2357: sub_group_elect,
{ 6564, 1, 0, 0, 0, 19, 31 },
// 2358: sub_group_non_uniform_all, sub_group_non_uniform_any,
{ 772, 2, 0, 0, 0, 19, 31 },
// 2359: sub_group_non_uniform_all_equal,
{ 6565, 2, 0, 0, 0, 19, 31 },
// 2360: sub_group_non_uniform_broadcast,
{ 6567, 3, 0, 0, 0, 15, 31 },
// 2361: sub_group_broadcast_first,
{ 6570, 2, 0, 0, 0, 15, 31 },
// 2362: sub_group_ballot,
{ 6572, 2, 0, 0, 0, 15, 31 },
// 2363: sub_group_inverse_ballot,
{ 6574, 2, 0, 1, 0, 15, 31 },
// 2364: sub_group_ballot_bit_extract,
{ 6576, 3, 0, 1, 0, 15, 31 },
// 2365: sub_group_ballot_bit_count,
{ 6579, 2, 0, 1, 0, 15, 31 },
// 2366: sub_group_ballot_inclusive_scan, sub_group_ballot_exclusive_scan, sub_group_ballot_find_lsb, sub_group_ballot_find_msb,
{ 6579, 2, 0, 0, 0, 15, 31 },
// 2367: get_sub_group_eq_mask, get_sub_group_ge_mask, get_sub_group_gt_mask, get_sub_group_le_mask, get_sub_group_lt_mask,
{ 6581, 1, 0, 1, 0, 15, 31 },
// 2368: sub_group_non_uniform_reduce_add, sub_group_non_uniform_reduce_min, sub_group_non_uniform_reduce_max, sub_group_non_uniform_reduce_mul, sub_group_non_uniform_scan_exclusive_add, sub_group_non_uniform_scan_exclusive_min, sub_group_non_uniform_scan_exclusive_max, sub_group_non_uniform_scan_exclusive_mul, sub_group_non_uniform_scan_inclusive_add, sub_group_non_uniform_scan_inclusive_min, sub_group_non_uniform_scan_inclusive_max, sub_group_non_uniform_scan_inclusive_mul,
{ 6570, 2, 0, 0, 0, 18, 31 },
// 2369: sub_group_non_uniform_reduce_and, sub_group_non_uniform_reduce_or, sub_group_non_uniform_reduce_xor, sub_group_non_uniform_scan_exclusive_and, sub_group_non_uniform_scan_exclusive_or, sub_group_non_uniform_scan_exclusive_xor, sub_group_non_uniform_scan_inclusive_and, sub_group_non_uniform_scan_inclusive_or, sub_group_non_uniform_scan_inclusive_xor,
{ 6582, 2, 0, 0, 0, 18, 31 },
// 2370: sub_group_non_uniform_reduce_logical_and, sub_group_non_uniform_reduce_logical_or, sub_group_non_uniform_reduce_logical_xor, sub_group_non_uniform_scan_exclusive_logical_and, sub_group_non_uniform_scan_exclusive_logical_or, sub_group_non_uniform_scan_exclusive_logical_xor, sub_group_non_uniform_scan_inclusive_logical_and, sub_group_non_uniform_scan_inclusive_logical_or, sub_group_non_uniform_scan_inclusive_logical_xor,
{ 772, 2, 0, 0, 0, 18, 31 },
// 2371: sub_group_shuffle, sub_group_shuffle_xor,
{ 6584, 3, 0, 0, 0, 20, 31 },
// 2372: sub_group_shuffle_up, sub_group_shuffle_down,
{ 6584, 3, 0, 0, 0, 21, 31 },
// 2373: sub_group_clustered_reduce_add, sub_group_clustered_reduce_min, sub_group_clustered_reduce_max, sub_group_clustered_reduce_mul,
{ 6584, 3, 0, 0, 0, 16, 31 },
// 2374: sub_group_clustered_reduce_and, sub_group_clustered_reduce_or, sub_group_clustered_reduce_xor,
{ 6587, 3, 0, 0, 0, 16, 31 },
// 2375: sub_group_clustered_reduce_logical_and, sub_group_clustered_reduce_logical_or, sub_group_clustered_reduce_logical_xor,
{ 6590, 3, 0, 0, 0, 16, 31 },
// 2376: bitfield_insert,
{ 6593, 5, 0, 1, 0, 4, 31 },
// 2377: bitfield_extract_signed,
{ 6598, 4, 0, 1, 0, 4, 31 },
{ 6602, 4, 0, 1, 0, 4, 31 },
// 2379: bitfield_extract_unsigned,
{ 6606, 4, 0, 1, 0, 4, 31 },
{ 6610, 4, 0, 1, 0, 4, 31 },
// 2381: bit_reverse,
{ 1467, 2, 0, 1, 0, 4, 31 },
// 2382: dot_acc_sat,
{ 6626, 4, 0, 1, 0, 27, 31 },
{ 6630, 4, 0, 1, 0, 27, 31 },
{ 6634, 4, 0, 1, 0, 27, 31 },
{ 6638, 4, 0, 1, 0, 27, 31 },
// 2386: dot_4x8packed_uu_uint,
{ 6644, 3, 0, 1, 0, 28, 31 },
// 2387: dot_4x8packed_ss_int, dot_4x8packed_us_int, dot_4x8packed_su_int,
{ 6647, 3, 0, 1, 0, 28, 31 },
// 2388: dot_acc_sat_4x8packed_uu_uint,
{ 6650, 4, 0, 1, 0, 28, 31 },
// 2389: dot_acc_sat_4x8packed_ss_int, dot_acc_sat_4x8packed_us_int, dot_acc_sat_4x8packed_su_int,
{ 6654, 4, 0, 1, 0, 28, 31 },
// 2390: arm_dot,
{ 6614, 3, 0, 0, 0, 3, 31 },
{ 6617, 3, 0, 0, 0, 3, 31 },
// 2392: arm_dot_acc,
{ 6626, 4, 0, 0, 0, 1, 31 },
{ 6630, 4, 0, 0, 0, 1, 31 },
{ 6660, 4, 0, 0, 0, 0, 31 },
{ 6664, 4, 0, 0, 0, 0, 31 },
// 2396: arm_dot_acc_sat,
{ 6626, 4, 0, 0, 0, 2, 31 },
{ 6630, 4, 0, 0, 0, 2, 31 },
};
// Find out whether a string matches an existing OpenCL builtin function name.
// Returns: A pair <0, 0> if no name matches.
// A pair <Index, Len> indexing the BuiltinTable if the name is
// matching an OpenCL builtin function.
static std::pair<unsigned, unsigned> isOpenCLBuiltin(llvm::StringRef Name) {
switch (Name.size()) {
default: break;
case 3: // 19 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'b': // 1 string to match.
if (Name[2] != 's')
break;
return std::make_pair(783, 1); // "abs"
case 'l': // 1 string to match.
if (Name[2] != 'l')
break;
return std::make_pair(854, 1); // "all"
case 'n': // 1 string to match.
if (Name[2] != 'y')
break;
return std::make_pair(854, 1); // "any"
}
break;
case 'c': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (Name[2] != 'z')
break;
return std::make_pair(784, 1); // "clz"
case 'o': // 1 string to match.
if (Name[2] != 's')
break;
return std::make_pair(731, 1); // "cos"
case 't': // 1 string to match.
if (Name[2] != 'z')
break;
return std::make_pair(786, 1); // "ctz"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ot", 2) != 0)
break;
return std::make_pair(838, 7); // "dot"
case 'e': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'r': // 1 string to match.
if (Name[2] != 'f')
break;
return std::make_pair(731, 1); // "erf"
case 'x': // 1 string to match.
if (Name[2] != 'p')
break;
return std::make_pair(731, 1); // "exp"
}
break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "ma", 2) != 0)
break;
return std::make_pair(752, 1); // "fma"
case 'l': // 1 string to match.
if (memcmp(Name.data()+1, "og", 2) != 0)
break;
return std::make_pair(731, 1); // "log"
case 'm': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'd': // 1 string to match.
return std::make_pair(752, 1); // "mad"
case 'x': // 1 string to match.
return std::make_pair(789, 6); // "max"
}
break;
case 'i': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'n': // 1 string to match.
return std::make_pair(789, 6); // "min"
case 'x': // 1 string to match.
return std::make_pair(816, 4); // "mix"
}
break;
}
break;
case 'n': // 1 string to match.
if (memcmp(Name.data()+1, "an", 2) != 0)
break;
return std::make_pair(732, 3); // "nan"
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "ow", 2) != 0)
break;
return std::make_pair(735, 1); // "pow"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "in", 2) != 0)
break;
return std::make_pair(731, 1); // "sin"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "an", 2) != 0)
break;
return std::make_pair(731, 1); // "tan"
}
break;
case 4: // 25 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "os", 2) != 0)
break;
return std::make_pair(731, 1); // "acos"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "in", 2) != 0)
break;
return std::make_pair(731, 1); // "asin"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "an", 2) != 0)
break;
return std::make_pair(731, 1); // "atan"
}
break;
case 'c': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+2, "rt", 2) != 0)
break;
return std::make_pair(731, 1); // "cbrt"
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "il", 2) != 0)
break;
return std::make_pair(731, 1); // "ceil"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "sh", 2) != 0)
break;
return std::make_pair(731, 1); // "cosh"
}
break;
case 'e': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "fc", 2) != 0)
break;
return std::make_pair(731, 1); // "erfc"
case 'x': // 1 string to match.
if (memcmp(Name.data()+2, "p2", 2) != 0)
break;
return std::make_pair(731, 1); // "exp2"
}
break;
case 'f': // 5 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "bs", 2) != 0)
break;
return std::make_pair(731, 1); // "fabs"
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "im", 2) != 0)
break;
return std::make_pair(735, 1); // "fdim"
case 'm': // 3 strings to match.
switch (Name[2]) {
default: break;
case 'a': // 1 string to match.
if (Name[3] != 'x')
break;
return std::make_pair(736, 4); // "fmax"
case 'i': // 1 string to match.
if (Name[3] != 'n')
break;
return std::make_pair(736, 4); // "fmin"
case 'o': // 1 string to match.
if (Name[3] != 'd')
break;
return std::make_pair(735, 1); // "fmod"
}
break;
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "add", 3) != 0)
break;
return std::make_pair(788, 1); // "hadd"
case 'l': // 2 strings to match.
if (memcmp(Name.data()+1, "og", 2) != 0)
break;
switch (Name[3]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(731, 1); // "log2"
case 'b': // 1 string to match.
return std::make_pair(731, 1); // "logb"
}
break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "odf", 3) != 0)
break;
return std::make_pair(753, 4); // "modf"
case 'p': // 2 strings to match.
if (memcmp(Name.data()+1, "ow", 2) != 0)
break;
switch (Name[3]) {
default: break;
case 'n': // 1 string to match.
return std::make_pair(749, 3); // "pown"
case 'r': // 1 string to match.
return std::make_pair(735, 1); // "powr"
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "int", 3) != 0)
break;
return std::make_pair(731, 1); // "rint"
case 's': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'i': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'g': // 1 string to match.
if (Name[3] != 'n')
break;
return std::make_pair(731, 1); // "sign"
case 'n': // 1 string to match.
if (Name[3] != 'h')
break;
return std::make_pair(731, 1); // "sinh"
}
break;
case 'q': // 1 string to match.
if (memcmp(Name.data()+2, "rt", 2) != 0)
break;
return std::make_pair(731, 1); // "sqrt"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "ep", 2) != 0)
break;
return std::make_pair(812, 4); // "step"
}
break;
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "anh", 3) != 0)
break;
return std::make_pair(731, 1); // "tanh"
}
break;
case 5: // 28 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "osh", 3) != 0)
break;
return std::make_pair(731, 1); // "acosh"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "inh", 3) != 0)
break;
return std::make_pair(731, 1); // "asinh"
case 't': // 2 strings to match.
if (memcmp(Name.data()+2, "an", 2) != 0)
break;
switch (Name[4]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(735, 1); // "atan2"
case 'h': // 1 string to match.
return std::make_pair(731, 1); // "atanh"
}
break;
}
break;
case 'c': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "amp", 3) != 0)
break;
return std::make_pair(801, 6); // "clamp"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "spi", 3) != 0)
break;
return std::make_pair(731, 1); // "cospi"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "oss", 3) != 0)
break;
return std::make_pair(832, 6); // "cross"
}
break;
case 'e': // 2 strings to match.
if (memcmp(Name.data()+1, "xp", 2) != 0)
break;
switch (Name[3]) {
default: break;
case '1': // 1 string to match.
if (Name[4] != '0')
break;
return std::make_pair(731, 1); // "exp10"
case 'm': // 1 string to match.
if (Name[4] != '1')
break;
return std::make_pair(731, 1); // "expm1"
}
break;
case 'f': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "oor", 3) != 0)
break;
return std::make_pair(731, 1); // "floor"
case 'r': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+3, "ct", 2) != 0)
break;
return std::make_pair(753, 4); // "fract"
case 'e': // 1 string to match.
if (memcmp(Name.data()+3, "xp", 2) != 0)
break;
return std::make_pair(757, 12); // "frexp"
}
break;
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "ypot", 4) != 0)
break;
return std::make_pair(735, 1); // "hypot"
case 'i': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "ogb", 3) != 0)
break;
return std::make_pair(740, 3); // "ilogb"
case 's': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+3, "nf", 2) != 0)
break;
return std::make_pair(849, 5); // "isinf"
case 'n': // 1 string to match.
if (memcmp(Name.data()+3, "an", 2) != 0)
break;
return std::make_pair(849, 5); // "isnan"
}
break;
}
break;
case 'l': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "exp", 3) != 0)
break;
return std::make_pair(743, 6); // "ldexp"
case 'o': // 2 strings to match.
if (memcmp(Name.data()+2, "g1", 2) != 0)
break;
switch (Name[4]) {
default: break;
case '0': // 1 string to match.
return std::make_pair(731, 1); // "log10"
case 'p': // 1 string to match.
return std::make_pair(731, 1); // "log1p"
}
break;
}
break;
case 'm': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "d24", 3) != 0)
break;
return std::make_pair(808, 2); // "mad24"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "l24", 3) != 0)
break;
return std::make_pair(810, 2); // "mul24"
}
break;
case 'r': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "add", 3) != 0)
break;
return std::make_pair(788, 1); // "rhadd"
case 'o': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'o': // 1 string to match.
if (memcmp(Name.data()+3, "tn", 2) != 0)
break;
return std::make_pair(749, 3); // "rootn"
case 'u': // 1 string to match.
if (memcmp(Name.data()+3, "nd", 2) != 0)
break;
return std::make_pair(731, 1); // "round"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "qrt", 3) != 0)
break;
return std::make_pair(731, 1); // "rsqrt"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "inpi", 4) != 0)
break;
return std::make_pair(731, 1); // "sinpi"
case 't': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "npi", 3) != 0)
break;
return std::make_pair(731, 1); // "tanpi"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "unc", 3) != 0)
break;
return std::make_pair(731, 1); // "trunc"
}
break;
}
break;
case 6: // 19 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "ospi", 4) != 0)
break;
return std::make_pair(731, 1); // "acospi"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "inpi", 4) != 0)
break;
return std::make_pair(731, 1); // "asinpi"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "anpi", 4) != 0)
break;
return std::make_pair(731, 1); // "atanpi"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "sless", 5) != 0)
break;
return std::make_pair(855, 5); // "isless"
case 'l': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "ngth", 4) != 0)
break;
return std::make_pair(824, 3); // "length"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "amma", 4) != 0)
break;
return std::make_pair(731, 1); // "lgamma"
}
break;
case 'm': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+3, "_hi", 3) != 0)
break;
return std::make_pair(807, 1); // "mad_hi"
case 'x': // 1 string to match.
if (memcmp(Name.data()+3, "mag", 3) != 0)
break;
return std::make_pair(735, 1); // "maxmag"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "nmag", 4) != 0)
break;
return std::make_pair(735, 1); // "minmag"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "l_hi", 4) != 0)
break;
return std::make_pair(788, 1); // "mul_hi"
}
break;
case 'r': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "mquo", 4) != 0)
break;
return std::make_pair(769, 12); // "remquo"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "tate", 4) != 0)
break;
return std::make_pair(788, 1); // "rotate"
}
break;
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "lect", 4) != 0)
break;
return std::make_pair(861, 10); // "select"
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "ncos", 4) != 0)
break;
return std::make_pair(753, 4); // "sincos"
}
break;
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "gamma", 5) != 0)
break;
return std::make_pair(731, 1); // "tgamma"
case 'v': // 4 strings to match.
if (memcmp(Name.data()+1, "load", 4) != 0)
break;
switch (Name[5]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(871, 55); // "vload2"
case '3': // 1 string to match.
return std::make_pair(983, 55); // "vload3"
case '4': // 1 string to match.
return std::make_pair(1095, 55); // "vload4"
case '8': // 1 string to match.
return std::make_pair(1207, 55); // "vload8"
}
break;
}
break;
case 7: // 17 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "d_sat", 5) != 0)
break;
return std::make_pair(788, 1); // "add_sat"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "m_dot", 5) != 0)
break;
return std::make_pair(2390, 2); // "arm_dot"
case 't': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+3, "n2pi", 4) != 0)
break;
return std::make_pair(735, 1); // "atan2pi"
case 'o': // 1 string to match.
if (memcmp(Name.data()+3, "m_or", 4) != 0)
break;
return std::make_pair(1480, 8); // "atom_or"
}
break;
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "arrier", 6) != 0)
break;
return std::make_pair(1444, 1); // "barrier"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "egrees", 6) != 0)
break;
return std::make_pair(731, 1); // "degrees"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "sequal", 6) != 0)
break;
return std::make_pair(855, 5); // "isequal"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "ad_sat", 6) != 0)
break;
return std::make_pair(807, 1); // "mad_sat"
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "adians", 6) != 0)
break;
return std::make_pair(731, 1); // "radians"
case 's': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "uffle", 5) != 0)
break;
return std::make_pair(1620, 176); // "shuffle"
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "gnbit", 5) != 0)
break;
return std::make_pair(849, 5); // "signbit"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "b_sat", 5) != 0)
break;
return std::make_pair(788, 1); // "sub_sat"
}
break;
case 'v': // 5 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "oad16", 5) != 0)
break;
return std::make_pair(1319, 55); // "vload16"
case 's': // 4 strings to match.
if (memcmp(Name.data()+2, "tore", 4) != 0)
break;
switch (Name[6]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(931, 44); // "vstore2"
case '3': // 1 string to match.
return std::make_pair(1043, 44); // "vstore3"
case '4': // 1 string to match.
return std::make_pair(1155, 44); // "vstore4"
case '8': // 1 string to match.
return std::make_pair(1267, 44); // "vstore8"
}
break;
}
break;
}
break;
case 8: // 24 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 9 strings to match.
switch (Name[1]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+2, "s_diff", 6) != 0)
break;
return std::make_pair(787, 1); // "abs_diff"
case 't': // 8 strings to match.
if (memcmp(Name.data()+2, "om_", 3) != 0)
break;
switch (Name[5]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[6]) {
default: break;
case 'd': // 1 string to match.
if (Name[7] != 'd')
break;
return std::make_pair(1456, 8); // "atom_add"
case 'n': // 1 string to match.
if (Name[7] != 'd')
break;
return std::make_pair(1480, 8); // "atom_and"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+6, "ec", 2) != 0)
break;
return std::make_pair(1464, 8); // "atom_dec"
case 'i': // 1 string to match.
if (memcmp(Name.data()+6, "nc", 2) != 0)
break;
return std::make_pair(1464, 8); // "atom_inc"
case 'm': // 2 strings to match.
switch (Name[6]) {
default: break;
case 'a': // 1 string to match.
if (Name[7] != 'x')
break;
return std::make_pair(1480, 8); // "atom_max"
case 'i': // 1 string to match.
if (Name[7] != 'n')
break;
return std::make_pair(1480, 8); // "atom_min"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+6, "ub", 2) != 0)
break;
return std::make_pair(1456, 8); // "atom_sub"
case 'x': // 1 string to match.
if (memcmp(Name.data()+6, "or", 2) != 0)
break;
return std::make_pair(1480, 8); // "atom_xor"
}
break;
}
break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "opysign", 7) != 0)
break;
return std::make_pair(735, 1); // "copysign"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "istance", 7) != 0)
break;
return std::make_pair(845, 3); // "distance"
case 'h': // 5 strings to match.
if (memcmp(Name.data()+1, "alf_", 4) != 0)
break;
switch (Name[5]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+6, "os", 2) != 0)
break;
return std::make_pair(781, 1); // "half_cos"
case 'e': // 1 string to match.
if (memcmp(Name.data()+6, "xp", 2) != 0)
break;
return std::make_pair(781, 1); // "half_exp"
case 'l': // 1 string to match.
if (memcmp(Name.data()+6, "og", 2) != 0)
break;
return std::make_pair(781, 1); // "half_log"
case 's': // 1 string to match.
if (memcmp(Name.data()+6, "in", 2) != 0)
break;
return std::make_pair(781, 1); // "half_sin"
case 't': // 1 string to match.
if (memcmp(Name.data()+6, "an", 2) != 0)
break;
return std::make_pair(781, 1); // "half_tan"
}
break;
case 'i': // 2 strings to match.
if (Name[1] != 's')
break;
switch (Name[2]) {
default: break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+3, "inite", 5) != 0)
break;
return std::make_pair(849, 5); // "isfinite"
case 'n': // 1 string to match.
if (memcmp(Name.data()+3, "ormal", 5) != 0)
break;
return std::make_pair(849, 5); // "isnormal"
}
break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+1, "gamma_r", 7) != 0)
break;
return std::make_pair(757, 12); // "lgamma_r"
case 'p': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "pcount", 6) != 0)
break;
return std::make_pair(785, 1); // "popcount"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "efetch", 6) != 0)
break;
return std::make_pair(1455, 1); // "prefetch"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "huffle2", 7) != 0)
break;
return std::make_pair(1796, 176); // "shuffle2"
case 'u': // 1 string to match.
if (memcmp(Name.data()+1, "psample", 7) != 0)
break;
return std::make_pair(795, 6); // "upsample"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "store16", 7) != 0)
break;
return std::make_pair(1379, 44); // "vstore16"
}
break;
case 9: // 14 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 2 strings to match.
if (memcmp(Name.data()+1, "tom", 3) != 0)
break;
switch (Name[4]) {
default: break;
case '_': // 1 string to match.
if (memcmp(Name.data()+5, "xchg", 4) != 0)
break;
return std::make_pair(1456, 8); // "atom_xchg"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "c_or", 4) != 0)
break;
return std::make_pair(1496, 6); // "atomic_or"
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "itselect", 8) != 0)
break;
return std::make_pair(860, 1); // "bitselect"
case 'g': // 1 string to match.
if (memcmp(Name.data()+1, "et_fence", 8) != 0)
break;
return std::make_pair(1448, 2); // "get_fence"
case 'h': // 4 strings to match.
if (memcmp(Name.data()+1, "alf_", 4) != 0)
break;
switch (Name[5]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+6, "xp2", 3) != 0)
break;
return std::make_pair(781, 1); // "half_exp2"
case 'l': // 1 string to match.
if (memcmp(Name.data()+6, "og2", 3) != 0)
break;
return std::make_pair(781, 1); // "half_log2"
case 'p': // 1 string to match.
if (memcmp(Name.data()+6, "owr", 3) != 0)
break;
return std::make_pair(782, 1); // "half_powr"
case 's': // 1 string to match.
if (memcmp(Name.data()+6, "qrt", 3) != 0)
break;
return std::make_pair(781, 1); // "half_sqrt"
}
break;
case 'i': // 2 strings to match.
if (Name[1] != 's')
break;
switch (Name[2]) {
default: break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+3, "reater", 6) != 0)
break;
return std::make_pair(855, 5); // "isgreater"
case 'o': // 1 string to match.
if (memcmp(Name.data()+3, "rdered", 6) != 0)
break;
return std::make_pair(855, 5); // "isordered"
}
break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "em_fence", 8) != 0)
break;
return std::make_pair(1447, 1); // "mem_fence"
case 'n': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "xtafter", 7) != 0)
break;
return std::make_pair(735, 1); // "nextafter"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "rmalize", 7) != 0)
break;
return std::make_pair(827, 3); // "normalize"
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "emainder", 8) != 0)
break;
return std::make_pair(735, 1); // "remainder"
}
break;
case 10: // 23 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 8 strings to match.
if (memcmp(Name.data()+1, "tomic_", 6) != 0)
break;
switch (Name[7]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[8]) {
default: break;
case 'd': // 1 string to match.
if (Name[9] != 'd')
break;
return std::make_pair(1496, 6); // "atomic_add"
case 'n': // 1 string to match.
if (Name[9] != 'd')
break;
return std::make_pair(1496, 6); // "atomic_and"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+8, "ec", 2) != 0)
break;
return std::make_pair(1502, 6); // "atomic_dec"
case 'i': // 1 string to match.
if (memcmp(Name.data()+8, "nc", 2) != 0)
break;
return std::make_pair(1502, 6); // "atomic_inc"
case 'm': // 2 strings to match.
switch (Name[8]) {
default: break;
case 'a': // 1 string to match.
if (Name[9] != 'x')
break;
return std::make_pair(1496, 6); // "atomic_max"
case 'i': // 1 string to match.
if (Name[9] != 'n')
break;
return std::make_pair(1496, 6); // "atomic_min"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+8, "ub", 2) != 0)
break;
return std::make_pair(1496, 6); // "atomic_sub"
case 'x': // 1 string to match.
if (memcmp(Name.data()+8, "or", 2) != 0)
break;
return std::make_pair(1496, 6); // "atomic_xor"
}
break;
case 'h': // 4 strings to match.
if (memcmp(Name.data()+1, "alf_", 4) != 0)
break;
switch (Name[5]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+6, "xp10", 4) != 0)
break;
return std::make_pair(781, 1); // "half_exp10"
case 'l': // 1 string to match.
if (memcmp(Name.data()+6, "og10", 4) != 0)
break;
return std::make_pair(781, 1); // "half_log10"
case 'r': // 2 strings to match.
switch (Name[6]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+7, "cip", 3) != 0)
break;
return std::make_pair(781, 1); // "half_recip"
case 's': // 1 string to match.
if (memcmp(Name.data()+7, "qrt", 3) != 0)
break;
return std::make_pair(781, 1); // "half_rsqrt"
}
break;
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "snotequal", 9) != 0)
break;
return std::make_pair(855, 5); // "isnotequal"
case 'n': // 8 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 5 strings to match.
if (memcmp(Name.data()+2, "tive_", 5) != 0)
break;
switch (Name[7]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+8, "os", 2) != 0)
break;
return std::make_pair(781, 1); // "native_cos"
case 'e': // 1 string to match.
if (memcmp(Name.data()+8, "xp", 2) != 0)
break;
return std::make_pair(781, 1); // "native_exp"
case 'l': // 1 string to match.
if (memcmp(Name.data()+8, "og", 2) != 0)
break;
return std::make_pair(781, 1); // "native_log"
case 's': // 1 string to match.
if (memcmp(Name.data()+8, "in", 2) != 0)
break;
return std::make_pair(781, 1); // "native_sin"
case 't': // 1 string to match.
if (memcmp(Name.data()+8, "an", 2) != 0)
break;
return std::make_pair(781, 1); // "native_tan"
}
break;
case 'd': // 3 strings to match.
if (memcmp(Name.data()+2, "range_", 6) != 0)
break;
switch (Name[8]) {
default: break;
case '1': // 1 string to match.
if (Name[9] != 'D')
break;
return std::make_pair(2308, 3); // "ndrange_1D"
case '2': // 1 string to match.
if (Name[9] != 'D')
break;
return std::make_pair(2311, 3); // "ndrange_2D"
case '3': // 1 string to match.
if (Name[9] != 'D')
break;
return std::make_pair(2311, 3); // "ndrange_3D"
}
break;
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "moothstep", 9) != 0)
break;
return std::make_pair(820, 4); // "smoothstep"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "load_half", 9) != 0)
break;
return std::make_pair(1431, 5); // "vload_half"
}
break;
case 11: // 24 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "m_dot_acc", 9) != 0)
break;
return std::make_pair(2392, 4); // "arm_dot_acc"
case 't': // 3 strings to match.
if (memcmp(Name.data()+2, "omic_", 5) != 0)
break;
switch (Name[7]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+8, "nit", 3) != 0)
break;
return std::make_pair(1515, 6); // "atomic_init"
case 'l': // 1 string to match.
if (memcmp(Name.data()+8, "oad", 3) != 0)
break;
return std::make_pair(1533, 6); // "atomic_load"
case 'x': // 1 string to match.
if (memcmp(Name.data()+8, "chg", 3) != 0)
break;
return std::make_pair(1488, 8); // "atomic_xchg"
}
break;
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "it_reverse", 10) != 0)
break;
return std::make_pair(2381, 1); // "bit_reverse"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "onvert_int", 10) != 0)
break;
return std::make_pair(397, 11); // "convert_int"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ot_acc_sat", 10) != 0)
break;
return std::make_pair(2382, 4); // "dot_acc_sat"
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "ast_length", 10) != 0)
break;
return std::make_pair(830, 1); // "fast_length"
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "alf_divide", 10) != 0)
break;
return std::make_pair(782, 1); // "half_divide"
case 'i': // 2 strings to match.
if (Name[1] != 's')
break;
switch (Name[2]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+3, "essequal", 8) != 0)
break;
return std::make_pair(855, 5); // "islessequal"
case 'u': // 1 string to match.
if (memcmp(Name.data()+3, "nordered", 8) != 0)
break;
return std::make_pair(855, 5); // "isunordered"
}
break;
case 'n': // 4 strings to match.
if (memcmp(Name.data()+1, "ative_", 6) != 0)
break;
switch (Name[7]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+8, "xp2", 3) != 0)
break;
return std::make_pair(781, 1); // "native_exp2"
case 'l': // 1 string to match.
if (memcmp(Name.data()+8, "og2", 3) != 0)
break;
return std::make_pair(781, 1); // "native_log2"
case 'p': // 1 string to match.
if (memcmp(Name.data()+8, "owr", 3) != 0)
break;
return std::make_pair(782, 1); // "native_powr"
case 's': // 1 string to match.
if (memcmp(Name.data()+8, "qrt", 3) != 0)
break;
return std::make_pair(781, 1); // "native_sqrt"
}
break;
case 'r': // 3 strings to match.
if (memcmp(Name.data()+1, "ead_image", 9) != 0)
break;
switch (Name[10]) {
default: break;
case 'f': // 1 string to match.
return std::make_pair(1972, 52); // "read_imagef"
case 'h': // 1 string to match.
return std::make_pair(2261, 22); // "read_imageh"
case 'i': // 1 string to match.
return std::make_pair(2024, 36); // "read_imagei"
}
break;
case 'v': // 6 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+2, "oad", 3) != 0)
break;
switch (Name[5]) {
default: break;
case '_': // 4 strings to match.
if (memcmp(Name.data()+6, "half", 4) != 0)
break;
switch (Name[10]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(926, 5); // "vload_half2"
case '3': // 1 string to match.
return std::make_pair(1038, 5); // "vload_half3"
case '4': // 1 string to match.
return std::make_pair(1150, 5); // "vload_half4"
case '8': // 1 string to match.
return std::make_pair(1262, 5); // "vload_half8"
}
break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+6, "_half", 5) != 0)
break;
return std::make_pair(1431, 5); // "vloada_half"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "tore_half", 9) != 0)
break;
return std::make_pair(1436, 8); // "vstore_half"
}
break;
}
break;
case 12: // 32 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 2 strings to match.
if (memcmp(Name.data()+1, "tom", 3) != 0)
break;
switch (Name[4]) {
default: break;
case '_': // 1 string to match.
if (memcmp(Name.data()+5, "cmpxchg", 7) != 0)
break;
return std::make_pair(1472, 8); // "atom_cmpxchg"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "c_store", 7) != 0)
break;
return std::make_pair(1515, 6); // "atomic_store"
}
break;
case 'c': // 8 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+9, "har", 3) != 0)
break;
return std::make_pair(133, 11); // "convert_char"
case 'h': // 1 string to match.
if (memcmp(Name.data()+9, "alf", 3) != 0)
break;
return std::make_pair(12, 11); // "convert_half"
case 'i': // 4 strings to match.
if (memcmp(Name.data()+9, "nt", 2) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2"
case '3': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3"
case '4': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4"
case '8': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8"
}
break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+9, "ong", 3) != 0)
break;
return std::make_pair(595, 11); // "convert_long"
case 'u': // 1 string to match.
if (memcmp(Name.data()+9, "int", 3) != 0)
break;
return std::make_pair(463, 11); // "convert_uint"
}
break;
case 'g': // 3 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+5, "roup_id", 7) != 0)
break;
return std::make_pair(728, 1); // "get_group_id"
case 'l': // 1 string to match.
if (memcmp(Name.data()+5, "ocal_id", 7) != 0)
break;
return std::make_pair(728, 1); // "get_local_id"
case 'w': // 1 string to match.
if (memcmp(Name.data()+5, "ork_dim", 7) != 0)
break;
return std::make_pair(727, 1); // "get_work_dim"
}
break;
case 'n': // 4 strings to match.
if (memcmp(Name.data()+1, "ative_", 6) != 0)
break;
switch (Name[7]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+8, "xp10", 4) != 0)
break;
return std::make_pair(781, 1); // "native_exp10"
case 'l': // 1 string to match.
if (memcmp(Name.data()+8, "og10", 4) != 0)
break;
return std::make_pair(781, 1); // "native_log10"
case 'r': // 2 strings to match.
switch (Name[8]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+9, "cip", 3) != 0)
break;
return std::make_pair(781, 1); // "native_recip"
case 's': // 1 string to match.
if (memcmp(Name.data()+9, "qrt", 3) != 0)
break;
return std::make_pair(781, 1); // "native_rsqrt"
}
break;
}
break;
case 'r': // 2 strings to match.
if (Name[1] != 'e')
break;
switch (Name[2]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+3, "d_imageui", 9) != 0)
break;
return std::make_pair(2060, 36); // "read_imageui"
case 't': // 1 string to match.
if (memcmp(Name.data()+3, "ain_event", 9) != 0)
break;
return std::make_pair(2302, 1); // "retain_event"
}
break;
case 'v': // 10 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+2, "oad", 3) != 0)
break;
switch (Name[5]) {
default: break;
case '_': // 1 string to match.
if (memcmp(Name.data()+6, "half16", 6) != 0)
break;
return std::make_pair(1374, 5); // "vload_half16"
case 'a': // 4 strings to match.
if (memcmp(Name.data()+6, "_half", 5) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(926, 5); // "vloada_half2"
case '3': // 1 string to match.
return std::make_pair(1038, 5); // "vloada_half3"
case '4': // 1 string to match.
return std::make_pair(1150, 5); // "vloada_half4"
case '8': // 1 string to match.
return std::make_pair(1262, 5); // "vloada_half8"
}
break;
}
break;
case 's': // 5 strings to match.
if (memcmp(Name.data()+2, "tore", 4) != 0)
break;
switch (Name[6]) {
default: break;
case '_': // 4 strings to match.
if (memcmp(Name.data()+7, "half", 4) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(975, 8); // "vstore_half2"
case '3': // 1 string to match.
return std::make_pair(1087, 8); // "vstore_half3"
case '4': // 1 string to match.
return std::make_pair(1199, 8); // "vstore_half4"
case '8': // 1 string to match.
return std::make_pair(1311, 8); // "vstore_half8"
}
break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+7, "_half", 5) != 0)
break;
return std::make_pair(1436, 8); // "vstorea_half"
}
break;
}
break;
case 'w': // 3 strings to match.
if (memcmp(Name.data()+1, "rite_image", 10) != 0)
break;
switch (Name[11]) {
default: break;
case 'f': // 1 string to match.
return std::make_pair(2096, 23); // "write_imagef"
case 'h': // 1 string to match.
return std::make_pair(2283, 12); // "write_imageh"
case 'i': // 1 string to match.
return std::make_pair(2119, 17); // "write_imagei"
}
break;
}
break;
case 13: // 36 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 21 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+9, "har", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2"
case '3': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3"
case '4': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4"
case '8': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8"
}
break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+9, "loat", 4) != 0)
break;
return std::make_pair(122, 11); // "convert_float"
case 'h': // 4 strings to match.
if (memcmp(Name.data()+9, "alf", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(23, 11); // "convert_half2"
case '3': // 1 string to match.
return std::make_pair(34, 11); // "convert_half3"
case '4': // 1 string to match.
return std::make_pair(45, 11); // "convert_half4"
case '8': // 1 string to match.
return std::make_pair(56, 11); // "convert_half8"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+9, "nt16", 4) != 0)
break;
return std::make_pair(452, 11); // "convert_int16"
case 'l': // 4 strings to match.
if (memcmp(Name.data()+9, "ong", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2"
case '3': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3"
case '4': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4"
case '8': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+9, "hort", 4) != 0)
break;
return std::make_pair(265, 11); // "convert_short"
case 'u': // 6 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+10, "har", 3) != 0)
break;
return std::make_pair(199, 11); // "convert_uchar"
case 'i': // 4 strings to match.
if (memcmp(Name.data()+10, "nt", 2) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2"
case '3': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3"
case '4': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4"
case '8': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8"
}
break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+10, "ong", 3) != 0)
break;
return std::make_pair(661, 11); // "convert_ulong"
}
break;
}
break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "ast_distance", 12) != 0)
break;
return std::make_pair(848, 1); // "fast_distance"
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+5, "lobal_id", 8) != 0)
break;
return std::make_pair(728, 1); // "get_global_id"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_dim", 8) != 0)
break;
return std::make_pair(2219, 27); // "get_image_dim"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "slessgreater", 12) != 0)
break;
return std::make_pair(855, 5); // "islessgreater"
case 'n': // 1 string to match.
if (memcmp(Name.data()+1, "ative_divide", 12) != 0)
break;
return std::make_pair(782, 1); // "native_divide"
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "elease_event", 12) != 0)
break;
return std::make_pair(2302, 1); // "release_event"
case 's': // 2 strings to match.
if (memcmp(Name.data()+1, "ub_group_a", 10) != 0)
break;
switch (Name[11]) {
default: break;
case 'l': // 1 string to match.
if (Name[12] != 'l')
break;
return std::make_pair(2351, 1); // "sub_group_all"
case 'n': // 1 string to match.
if (Name[12] != 'y')
break;
return std::make_pair(2351, 1); // "sub_group_any"
}
break;
case 'v': // 6 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "oada_half16", 11) != 0)
break;
return std::make_pair(1374, 5); // "vloada_half16"
case 's': // 5 strings to match.
if (memcmp(Name.data()+2, "tore", 4) != 0)
break;
switch (Name[6]) {
default: break;
case '_': // 1 string to match.
if (memcmp(Name.data()+7, "half16", 6) != 0)
break;
return std::make_pair(1423, 8); // "vstore_half16"
case 'a': // 4 strings to match.
if (memcmp(Name.data()+7, "_half", 5) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(975, 8); // "vstorea_half2"
case '3': // 1 string to match.
return std::make_pair(1087, 8); // "vstorea_half3"
case '4': // 1 string to match.
return std::make_pair(1199, 8); // "vstorea_half4"
case '8': // 1 string to match.
return std::make_pair(1311, 8); // "vstorea_half8"
}
break;
}
break;
}
break;
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "rite_imageui", 12) != 0)
break;
return std::make_pair(2136, 17); // "write_imageui"
}
break;
case 14: // 33 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_cmpxchg", 13) != 0)
break;
return std::make_pair(1508, 6); // "atomic_cmpxchg"
case 'c': // 22 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+9, "har16", 5) != 0)
break;
return std::make_pair(188, 11); // "convert_char16"
case 'd': // 1 string to match.
if (memcmp(Name.data()+9, "ouble", 5) != 0)
break;
return std::make_pair(529, 11); // "convert_double"
case 'f': // 4 strings to match.
if (memcmp(Name.data()+9, "loat", 4) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(1, 11); // "convert_float2"
case '3': // 1 string to match.
return std::make_pair(78, 11); // "convert_float3"
case '4': // 1 string to match.
return std::make_pair(89, 11); // "convert_float4"
case '8': // 1 string to match.
return std::make_pair(100, 11); // "convert_float8"
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+9, "alf16", 5) != 0)
break;
return std::make_pair(67, 11); // "convert_half16"
case 'l': // 1 string to match.
if (memcmp(Name.data()+9, "ong16", 5) != 0)
break;
return std::make_pair(650, 11); // "convert_long16"
case 's': // 4 strings to match.
if (memcmp(Name.data()+9, "hort", 4) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2"
case '3': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3"
case '4': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4"
case '8': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8"
}
break;
case 'u': // 10 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+10, "har", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2"
case '3': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3"
case '4': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4"
case '8': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+10, "nt16", 4) != 0)
break;
return std::make_pair(518, 11); // "convert_uint16"
case 'l': // 4 strings to match.
if (memcmp(Name.data()+10, "ong", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2"
case '3': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3"
case '4': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4"
case '8': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+10, "hort", 4) != 0)
break;
return std::make_pair(331, 11); // "convert_ushort"
}
break;
}
break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "nqueue_marker", 13) != 0)
break;
return std::make_pair(2301, 1); // "enqueue_marker"
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "ast_normalize", 13) != 0)
break;
return std::make_pair(831, 1); // "fast_normalize"
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+5, "ocal_size", 9) != 0)
break;
return std::make_pair(728, 1); // "get_local_size"
case 'n': // 1 string to match.
if (memcmp(Name.data()+5, "um_groups", 9) != 0)
break;
return std::make_pair(728, 1); // "get_num_groups"
}
break;
case 'i': // 2 strings to match.
if (Name[1] != 's')
break;
switch (Name[2]) {
default: break;
case '_': // 1 string to match.
if (memcmp(Name.data()+3, "valid_event", 11) != 0)
break;
return std::make_pair(2304, 1); // "is_valid_event"
case 'g': // 1 string to match.
if (memcmp(Name.data()+3, "reaterequal", 11) != 0)
break;
return std::make_pair(855, 5); // "isgreaterequal"
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "ead_mem_fence", 13) != 0)
break;
return std::make_pair(1447, 1); // "read_mem_fence"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "storea_half16", 13) != 0)
break;
return std::make_pair(1423, 8); // "vstorea_half16"
case 'w': // 2 strings to match.
if (memcmp(Name.data()+1, "ork_group_a", 11) != 0)
break;
switch (Name[12]) {
default: break;
case 'l': // 1 string to match.
if (Name[13] != 'l')
break;
return std::make_pair(2295, 1); // "work_group_all"
case 'n': // 1 string to match.
if (Name[13] != 'y')
break;
return std::make_pair(2295, 1); // "work_group_any"
}
break;
}
break;
case 15: // 30 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "m_dot_acc_sat", 13) != 0)
break;
return std::make_pair(2396, 2); // "arm_dot_acc_sat"
case 't': // 2 strings to match.
if (memcmp(Name.data()+2, "omic_", 5) != 0)
break;
switch (Name[7]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+8, "xchange", 7) != 0)
break;
return std::make_pair(1551, 6); // "atomic_exchange"
case 'f': // 1 string to match.
if (memcmp(Name.data()+8, "etch_or", 7) != 0)
break;
return std::make_pair(1602, 4); // "atomic_fetch_or"
}
break;
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "itfield_insert", 14) != 0)
break;
return std::make_pair(2376, 1); // "bitfield_insert"
case 'c': // 17 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'd': // 4 strings to match.
if (memcmp(Name.data()+9, "ouble", 5) != 0)
break;
switch (Name[14]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(540, 11); // "convert_double2"
case '3': // 1 string to match.
return std::make_pair(551, 11); // "convert_double3"
case '4': // 1 string to match.
return std::make_pair(562, 11); // "convert_double4"
case '8': // 1 string to match.
return std::make_pair(573, 11); // "convert_double8"
}
break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+9, "loat16", 6) != 0)
break;
return std::make_pair(111, 11); // "convert_float16"
case 'i': // 5 strings to match.
if (memcmp(Name.data()+9, "nt_", 3) != 0)
break;
switch (Name[12]) {
default: break;
case 'r': // 4 strings to match.
if (Name[13] != 't')
break;
switch (Name[14]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_rte"
case 'n': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_rtn"
case 'p': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_rtp"
case 'z': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+13, "at", 2) != 0)
break;
return std::make_pair(397, 11); // "convert_int_sat"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+9, "hort16", 6) != 0)
break;
return std::make_pair(320, 11); // "convert_short16"
case 'u': // 6 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+10, "har16", 5) != 0)
break;
return std::make_pair(254, 11); // "convert_uchar16"
case 'l': // 1 string to match.
if (memcmp(Name.data()+10, "ong16", 5) != 0)
break;
return std::make_pair(716, 11); // "convert_ulong16"
case 's': // 4 strings to match.
if (memcmp(Name.data()+10, "hort", 4) != 0)
break;
switch (Name[14]) {
default: break;
case '2': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2"
case '3': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3"
case '4': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4"
case '8': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8"
}
break;
}
break;
}
break;
case 'g': // 3 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+5, "lobal_size", 10) != 0)
break;
return std::make_pair(728, 1); // "get_global_size"
case 'i': // 2 strings to match.
if (memcmp(Name.data()+5, "mage_", 5) != 0)
break;
switch (Name[10]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+11, "epth", 4) != 0)
break;
return std::make_pair(2216, 3); // "get_image_depth"
case 'w': // 1 string to match.
if (memcmp(Name.data()+11, "idth", 4) != 0)
break;
return std::make_pair(2153, 36); // "get_image_width"
}
break;
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_elect", 14) != 0)
break;
return std::make_pair(2357, 1); // "sub_group_elect"
case 'v': // 4 strings to match.
if (memcmp(Name.data()+1, "store_half_rt", 13) != 0)
break;
switch (Name[14]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1436, 8); // "vstore_half_rte"
case 'n': // 1 string to match.
return std::make_pair(1436, 8); // "vstore_half_rtn"
case 'p': // 1 string to match.
return std::make_pair(1436, 8); // "vstore_half_rtp"
case 'z': // 1 string to match.
return std::make_pair(1436, 8); // "vstore_half_rtz"
}
break;
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "rite_mem_fence", 14) != 0)
break;
return std::make_pair(1447, 1); // "write_mem_fence"
}
break;
case 16: // 70 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 6 strings to match.
if (memcmp(Name.data()+1, "tomic_fetch_", 12) != 0)
break;
switch (Name[13]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[14]) {
default: break;
case 'd': // 1 string to match.
if (Name[15] != 'd')
break;
return std::make_pair(1587, 5); // "atomic_fetch_add"
case 'n': // 1 string to match.
if (Name[15] != 'd')
break;
return std::make_pair(1602, 4); // "atomic_fetch_and"
}
break;
case 'm': // 2 strings to match.
switch (Name[14]) {
default: break;
case 'a': // 1 string to match.
if (Name[15] != 'x')
break;
return std::make_pair(1602, 4); // "atomic_fetch_max"
case 'i': // 1 string to match.
if (Name[15] != 'n')
break;
return std::make_pair(1602, 4); // "atomic_fetch_min"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "ub", 2) != 0)
break;
return std::make_pair(1587, 5); // "atomic_fetch_sub"
case 'x': // 1 string to match.
if (memcmp(Name.data()+14, "or", 2) != 0)
break;
return std::make_pair(1602, 4); // "atomic_fetch_xor"
}
break;
case 'c': // 41 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 5 strings to match.
if (memcmp(Name.data()+9, "har_", 4) != 0)
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_rte"
case 'n': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_rtn"
case 'p': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_rtp"
case 'z': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(133, 11); // "convert_char_sat"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+9, "ouble16", 7) != 0)
break;
return std::make_pair(584, 11); // "convert_double16"
case 'h': // 4 strings to match.
if (memcmp(Name.data()+9, "alf_rt", 6) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(12, 11); // "convert_half_rte"
case 'n': // 1 string to match.
return std::make_pair(12, 11); // "convert_half_rtn"
case 'p': // 1 string to match.
return std::make_pair(12, 11); // "convert_half_rtp"
case 'z': // 1 string to match.
return std::make_pair(12, 11); // "convert_half_rtz"
}
break;
case 'i': // 20 strings to match.
if (memcmp(Name.data()+9, "nt", 2) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 5 strings to match.
if (Name[12] != '_')
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_rte"
case 'n': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_rtn"
case 'p': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_rtp"
case 'z': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(408, 11); // "convert_int2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[12] != '_')
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_rte"
case 'n': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_rtn"
case 'p': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_rtp"
case 'z': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(419, 11); // "convert_int3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[12] != '_')
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_rte"
case 'n': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_rtn"
case 'p': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_rtp"
case 'z': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(430, 11); // "convert_int4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[12] != '_')
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_rte"
case 'n': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_rtn"
case 'p': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_rtp"
case 'z': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(441, 11); // "convert_int8_sat"
}
break;
}
break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+9, "ong_", 4) != 0)
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_rte"
case 'n': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_rtn"
case 'p': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_rtp"
case 'z': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(595, 11); // "convert_long_sat"
}
break;
case 'u': // 6 strings to match.
switch (Name[9]) {
default: break;
case 'i': // 5 strings to match.
if (memcmp(Name.data()+10, "nt_", 3) != 0)
break;
switch (Name[13]) {
default: break;
case 'r': // 4 strings to match.
if (Name[14] != 't')
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_rte"
case 'n': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_rtn"
case 'p': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_rtp"
case 'z': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "at", 2) != 0)
break;
return std::make_pair(463, 11); // "convert_uint_sat"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+10, "hort16", 6) != 0)
break;
return std::make_pair(386, 11); // "convert_ushort16"
}
break;
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_height", 11) != 0)
break;
return std::make_pair(2189, 27); // "get_image_height"
case 's': // 1 string to match.
if (memcmp(Name.data()+5, "ub_group_id", 11) != 0)
break;
return std::make_pair(2347, 1); // "get_sub_group_id"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_ballot", 15) != 0)
break;
return std::make_pair(2362, 1); // "sub_group_ballot"
case 'v': // 20 strings to match.
if (memcmp(Name.data()+1, "store", 5) != 0)
break;
switch (Name[6]) {
default: break;
case '_': // 16 strings to match.
if (memcmp(Name.data()+7, "half", 4) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+12, "_rt", 3) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(975, 8); // "vstore_half2_rte"
case 'n': // 1 string to match.
return std::make_pair(975, 8); // "vstore_half2_rtn"
case 'p': // 1 string to match.
return std::make_pair(975, 8); // "vstore_half2_rtp"
case 'z': // 1 string to match.
return std::make_pair(975, 8); // "vstore_half2_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+12, "_rt", 3) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1087, 8); // "vstore_half3_rte"
case 'n': // 1 string to match.
return std::make_pair(1087, 8); // "vstore_half3_rtn"
case 'p': // 1 string to match.
return std::make_pair(1087, 8); // "vstore_half3_rtp"
case 'z': // 1 string to match.
return std::make_pair(1087, 8); // "vstore_half3_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+12, "_rt", 3) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1199, 8); // "vstore_half4_rte"
case 'n': // 1 string to match.
return std::make_pair(1199, 8); // "vstore_half4_rtn"
case 'p': // 1 string to match.
return std::make_pair(1199, 8); // "vstore_half4_rtp"
case 'z': // 1 string to match.
return std::make_pair(1199, 8); // "vstore_half4_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+12, "_rt", 3) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1311, 8); // "vstore_half8_rte"
case 'n': // 1 string to match.
return std::make_pair(1311, 8); // "vstore_half8_rtn"
case 'p': // 1 string to match.
return std::make_pair(1311, 8); // "vstore_half8_rtp"
case 'z': // 1 string to match.
return std::make_pair(1311, 8); // "vstore_half8_rtz"
}
break;
}
break;
case 'a': // 4 strings to match.
if (memcmp(Name.data()+7, "_half_rt", 8) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1436, 8); // "vstorea_half_rte"
case 'n': // 1 string to match.
return std::make_pair(1436, 8); // "vstorea_half_rtn"
case 'p': // 1 string to match.
return std::make_pair(1436, 8); // "vstorea_half_rtp"
case 'z': // 1 string to match.
return std::make_pair(1436, 8); // "vstorea_half_rtz"
}
break;
}
break;
}
break;
case 17: // 127 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_flag_clear", 16) != 0)
break;
return std::make_pair(1614, 1); // "atomic_flag_clear"
case 'c': // 101 strings to match.
switch (Name[1]) {
default: break;
case 'o': // 100 strings to match.
if (memcmp(Name.data()+2, "nvert_", 6) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 20 strings to match.
if (memcmp(Name.data()+9, "har", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_rte"
case 'n': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_rtn"
case 'p': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_rtp"
case 'z': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(144, 11); // "convert_char2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_rte"
case 'n': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_rtn"
case 'p': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_rtp"
case 'z': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(155, 11); // "convert_char3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_rte"
case 'n': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_rtn"
case 'p': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_rtp"
case 'z': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(166, 11); // "convert_char4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_rte"
case 'n': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_rtn"
case 'p': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_rtp"
case 'z': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(177, 11); // "convert_char8_sat"
}
break;
}
break;
case 'f': // 4 strings to match.
if (memcmp(Name.data()+9, "loat_rt", 7) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(122, 11); // "convert_float_rte"
case 'n': // 1 string to match.
return std::make_pair(122, 11); // "convert_float_rtn"
case 'p': // 1 string to match.
return std::make_pair(122, 11); // "convert_float_rtp"
case 'z': // 1 string to match.
return std::make_pair(122, 11); // "convert_float_rtz"
}
break;
case 'h': // 16 strings to match.
if (memcmp(Name.data()+9, "alf", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(23, 11); // "convert_half2_rte"
case 'n': // 1 string to match.
return std::make_pair(23, 11); // "convert_half2_rtn"
case 'p': // 1 string to match.
return std::make_pair(23, 11); // "convert_half2_rtp"
case 'z': // 1 string to match.
return std::make_pair(23, 11); // "convert_half2_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(34, 11); // "convert_half3_rte"
case 'n': // 1 string to match.
return std::make_pair(34, 11); // "convert_half3_rtn"
case 'p': // 1 string to match.
return std::make_pair(34, 11); // "convert_half3_rtp"
case 'z': // 1 string to match.
return std::make_pair(34, 11); // "convert_half3_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(45, 11); // "convert_half4_rte"
case 'n': // 1 string to match.
return std::make_pair(45, 11); // "convert_half4_rtn"
case 'p': // 1 string to match.
return std::make_pair(45, 11); // "convert_half4_rtp"
case 'z': // 1 string to match.
return std::make_pair(45, 11); // "convert_half4_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(56, 11); // "convert_half8_rte"
case 'n': // 1 string to match.
return std::make_pair(56, 11); // "convert_half8_rtn"
case 'p': // 1 string to match.
return std::make_pair(56, 11); // "convert_half8_rtp"
case 'z': // 1 string to match.
return std::make_pair(56, 11); // "convert_half8_rtz"
}
break;
}
break;
case 'i': // 5 strings to match.
if (memcmp(Name.data()+9, "nt16_", 5) != 0)
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_rte"
case 'n': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_rtn"
case 'p': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_rtp"
case 'z': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(452, 11); // "convert_int16_sat"
}
break;
case 'l': // 20 strings to match.
if (memcmp(Name.data()+9, "ong", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_rte"
case 'n': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_rtn"
case 'p': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_rtp"
case 'z': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(606, 11); // "convert_long2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_rte"
case 'n': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_rtn"
case 'p': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_rtp"
case 'z': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(617, 11); // "convert_long3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_rte"
case 'n': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_rtn"
case 'p': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_rtp"
case 'z': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(628, 11); // "convert_long4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_rte"
case 'n': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_rtn"
case 'p': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_rtp"
case 'z': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(639, 11); // "convert_long8_sat"
}
break;
}
break;
case 's': // 5 strings to match.
if (memcmp(Name.data()+9, "hort_", 5) != 0)
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_rte"
case 'n': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_rtn"
case 'p': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_rtp"
case 'z': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(265, 11); // "convert_short_sat"
}
break;
case 'u': // 30 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 5 strings to match.
if (memcmp(Name.data()+10, "har_", 4) != 0)
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_rte"
case 'n': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_rtn"
case 'p': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_rtp"
case 'z': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(199, 11); // "convert_uchar_sat"
}
break;
case 'i': // 20 strings to match.
if (memcmp(Name.data()+10, "nt", 2) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_rte"
case 'n': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_rtn"
case 'p': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_rtp"
case 'z': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(474, 11); // "convert_uint2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_rte"
case 'n': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_rtn"
case 'p': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_rtp"
case 'z': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(485, 11); // "convert_uint3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_rte"
case 'n': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_rtn"
case 'p': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_rtp"
case 'z': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(496, 11); // "convert_uint4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[13] != '_')
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_rte"
case 'n': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_rtn"
case 'p': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_rtp"
case 'z': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(507, 11); // "convert_uint8_sat"
}
break;
}
break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+10, "ong_", 4) != 0)
break;
switch (Name[14]) {
default: break;
case 'r': // 4 strings to match.
if (Name[15] != 't')
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_rte"
case 'n': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_rtn"
case 'p': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_rtp"
case 'z': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+15, "at", 2) != 0)
break;
return std::make_pair(661, 11); // "convert_ulong_sat"
}
break;
}
break;
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "eate_user_event", 15) != 0)
break;
return std::make_pair(2303, 1); // "create_user_event"
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+5, "efault_queue", 12) != 0)
break;
return std::make_pair(2307, 1); // "get_default_queue"
case 'g': // 1 string to match.
if (memcmp(Name.data()+5, "lobal_offset", 12) != 0)
break;
return std::make_pair(728, 1); // "get_global_offset"
}
break;
case 's': // 2 strings to match.
if (memcmp(Name.data()+1, "ub_group_", 9) != 0)
break;
switch (Name[10]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+11, "arrier", 6) != 0)
break;
return std::make_pair(2349, 2); // "sub_group_barrier"
case 's': // 1 string to match.
if (memcmp(Name.data()+11, "huffle", 6) != 0)
break;
return std::make_pair(2371, 1); // "sub_group_shuffle"
}
break;
case 'v': // 20 strings to match.
if (memcmp(Name.data()+1, "store", 5) != 0)
break;
switch (Name[6]) {
default: break;
case '_': // 4 strings to match.
if (memcmp(Name.data()+7, "half16_rt", 9) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1423, 8); // "vstore_half16_rte"
case 'n': // 1 string to match.
return std::make_pair(1423, 8); // "vstore_half16_rtn"
case 'p': // 1 string to match.
return std::make_pair(1423, 8); // "vstore_half16_rtp"
case 'z': // 1 string to match.
return std::make_pair(1423, 8); // "vstore_half16_rtz"
}
break;
case 'a': // 16 strings to match.
if (memcmp(Name.data()+7, "_half", 5) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(975, 8); // "vstorea_half2_rte"
case 'n': // 1 string to match.
return std::make_pair(975, 8); // "vstorea_half2_rtn"
case 'p': // 1 string to match.
return std::make_pair(975, 8); // "vstorea_half2_rtp"
case 'z': // 1 string to match.
return std::make_pair(975, 8); // "vstorea_half2_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1087, 8); // "vstorea_half3_rte"
case 'n': // 1 string to match.
return std::make_pair(1087, 8); // "vstorea_half3_rtn"
case 'p': // 1 string to match.
return std::make_pair(1087, 8); // "vstorea_half3_rtp"
case 'z': // 1 string to match.
return std::make_pair(1087, 8); // "vstorea_half3_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1199, 8); // "vstorea_half4_rte"
case 'n': // 1 string to match.
return std::make_pair(1199, 8); // "vstorea_half4_rtn"
case 'p': // 1 string to match.
return std::make_pair(1199, 8); // "vstorea_half4_rtp"
case 'z': // 1 string to match.
return std::make_pair(1199, 8); // "vstorea_half4_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+13, "_rt", 3) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1311, 8); // "vstorea_half8_rte"
case 'n': // 1 string to match.
return std::make_pair(1311, 8); // "vstorea_half8_rtn"
case 'p': // 1 string to match.
return std::make_pair(1311, 8); // "vstorea_half8_rtp"
case 'z': // 1 string to match.
return std::make_pair(1311, 8); // "vstorea_half8_rtz"
}
break;
}
break;
}
break;
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "ait_group_events", 16) != 0)
break;
return std::make_pair(1454, 1); // "wait_group_events"
}
break;
case 18: // 111 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 104 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 5 strings to match.
if (memcmp(Name.data()+9, "har16_", 6) != 0)
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_rte"
case 'n': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_rtn"
case 'p': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_rtp"
case 'z': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(188, 11); // "convert_char16_sat"
}
break;
case 'd': // 4 strings to match.
if (memcmp(Name.data()+9, "ouble_rt", 8) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(529, 11); // "convert_double_rte"
case 'n': // 1 string to match.
return std::make_pair(529, 11); // "convert_double_rtn"
case 'p': // 1 string to match.
return std::make_pair(529, 11); // "convert_double_rtp"
case 'z': // 1 string to match.
return std::make_pair(529, 11); // "convert_double_rtz"
}
break;
case 'f': // 16 strings to match.
if (memcmp(Name.data()+9, "loat", 4) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+14, "_rt", 3) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1, 11); // "convert_float2_rte"
case 'n': // 1 string to match.
return std::make_pair(1, 11); // "convert_float2_rtn"
case 'p': // 1 string to match.
return std::make_pair(1, 11); // "convert_float2_rtp"
case 'z': // 1 string to match.
return std::make_pair(1, 11); // "convert_float2_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+14, "_rt", 3) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(78, 11); // "convert_float3_rte"
case 'n': // 1 string to match.
return std::make_pair(78, 11); // "convert_float3_rtn"
case 'p': // 1 string to match.
return std::make_pair(78, 11); // "convert_float3_rtp"
case 'z': // 1 string to match.
return std::make_pair(78, 11); // "convert_float3_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+14, "_rt", 3) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(89, 11); // "convert_float4_rte"
case 'n': // 1 string to match.
return std::make_pair(89, 11); // "convert_float4_rtn"
case 'p': // 1 string to match.
return std::make_pair(89, 11); // "convert_float4_rtp"
case 'z': // 1 string to match.
return std::make_pair(89, 11); // "convert_float4_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+14, "_rt", 3) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(100, 11); // "convert_float8_rte"
case 'n': // 1 string to match.
return std::make_pair(100, 11); // "convert_float8_rtn"
case 'p': // 1 string to match.
return std::make_pair(100, 11); // "convert_float8_rtp"
case 'z': // 1 string to match.
return std::make_pair(100, 11); // "convert_float8_rtz"
}
break;
}
break;
case 'h': // 4 strings to match.
if (memcmp(Name.data()+9, "alf16_rt", 8) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(67, 11); // "convert_half16_rte"
case 'n': // 1 string to match.
return std::make_pair(67, 11); // "convert_half16_rtn"
case 'p': // 1 string to match.
return std::make_pair(67, 11); // "convert_half16_rtp"
case 'z': // 1 string to match.
return std::make_pair(67, 11); // "convert_half16_rtz"
}
break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+9, "ong16_", 6) != 0)
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_rte"
case 'n': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_rtn"
case 'p': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_rtp"
case 'z': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(650, 11); // "convert_long16_sat"
}
break;
case 's': // 20 strings to match.
if (memcmp(Name.data()+9, "hort", 4) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_rte"
case 'n': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_rtn"
case 'p': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_rtp"
case 'z': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(276, 11); // "convert_short2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_rte"
case 'n': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_rtn"
case 'p': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_rtp"
case 'z': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(287, 11); // "convert_short3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_rte"
case 'n': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_rtn"
case 'p': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_rtp"
case 'z': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(298, 11); // "convert_short4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_rte"
case 'n': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_rtn"
case 'p': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_rtp"
case 'z': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(309, 11); // "convert_short8_sat"
}
break;
}
break;
case 'u': // 50 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 20 strings to match.
if (memcmp(Name.data()+10, "har", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_rte"
case 'n': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_rtn"
case 'p': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_rtp"
case 'z': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(210, 11); // "convert_uchar2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_rte"
case 'n': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_rtn"
case 'p': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_rtp"
case 'z': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(221, 11); // "convert_uchar3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_rte"
case 'n': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_rtn"
case 'p': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_rtp"
case 'z': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(232, 11); // "convert_uchar4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_rte"
case 'n': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_rtn"
case 'p': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_rtp"
case 'z': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(243, 11); // "convert_uchar8_sat"
}
break;
}
break;
case 'i': // 5 strings to match.
if (memcmp(Name.data()+10, "nt16_", 5) != 0)
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_rte"
case 'n': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_rtn"
case 'p': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_rtp"
case 'z': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(518, 11); // "convert_uint16_sat"
}
break;
case 'l': // 20 strings to match.
if (memcmp(Name.data()+10, "ong", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_rte"
case 'n': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_rtn"
case 'p': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_rtp"
case 'z': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(672, 11); // "convert_ulong2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_rte"
case 'n': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_rtn"
case 'p': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_rtp"
case 'z': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(683, 11); // "convert_ulong3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_rte"
case 'n': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_rtn"
case 'p': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_rtp"
case 'z': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(694, 11); // "convert_ulong4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[14] != '_')
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_rte"
case 'n': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_rtn"
case 'p': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_rtp"
case 'z': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(705, 11); // "convert_ulong8_sat"
}
break;
}
break;
case 's': // 5 strings to match.
if (memcmp(Name.data()+10, "hort_", 5) != 0)
break;
switch (Name[15]) {
default: break;
case 'r': // 4 strings to match.
if (Name[16] != 't')
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_rte"
case 'n': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_rtn"
case 'p': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_rtp"
case 'z': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "at", 2) != 0)
break;
return std::make_pair(331, 11); // "convert_ushort_sat"
}
break;
}
break;
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'n': // 1 string to match.
if (memcmp(Name.data()+5, "um_sub_groups", 13) != 0)
break;
return std::make_pair(2347, 1); // "get_num_sub_groups"
case 's': // 1 string to match.
if (memcmp(Name.data()+5, "ub_group_size", 13) != 0)
break;
return std::make_pair(2347, 1); // "get_sub_group_size"
}
break;
case 'v': // 4 strings to match.
if (memcmp(Name.data()+1, "storea_half16_rt", 16) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(1423, 8); // "vstorea_half16_rte"
case 'n': // 1 string to match.
return std::make_pair(1423, 8); // "vstorea_half16_rtn"
case 'p': // 1 string to match.
return std::make_pair(1423, 8); // "vstorea_half16_rtp"
case 'z': // 1 string to match.
return std::make_pair(1423, 8); // "vstorea_half16_rtz"
}
break;
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "ork_group_barrier", 17) != 0)
break;
return std::make_pair(1445, 2); // "work_group_barrier"
}
break;
case 19: // 62 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 59 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'd': // 16 strings to match.
if (memcmp(Name.data()+9, "ouble", 5) != 0)
break;
switch (Name[14]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+15, "_rt", 3) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(540, 11); // "convert_double2_rte"
case 'n': // 1 string to match.
return std::make_pair(540, 11); // "convert_double2_rtn"
case 'p': // 1 string to match.
return std::make_pair(540, 11); // "convert_double2_rtp"
case 'z': // 1 string to match.
return std::make_pair(540, 11); // "convert_double2_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+15, "_rt", 3) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(551, 11); // "convert_double3_rte"
case 'n': // 1 string to match.
return std::make_pair(551, 11); // "convert_double3_rtn"
case 'p': // 1 string to match.
return std::make_pair(551, 11); // "convert_double3_rtp"
case 'z': // 1 string to match.
return std::make_pair(551, 11); // "convert_double3_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+15, "_rt", 3) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(562, 11); // "convert_double4_rte"
case 'n': // 1 string to match.
return std::make_pair(562, 11); // "convert_double4_rtn"
case 'p': // 1 string to match.
return std::make_pair(562, 11); // "convert_double4_rtp"
case 'z': // 1 string to match.
return std::make_pair(562, 11); // "convert_double4_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+15, "_rt", 3) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(573, 11); // "convert_double8_rte"
case 'n': // 1 string to match.
return std::make_pair(573, 11); // "convert_double8_rtn"
case 'p': // 1 string to match.
return std::make_pair(573, 11); // "convert_double8_rtp"
case 'z': // 1 string to match.
return std::make_pair(573, 11); // "convert_double8_rtz"
}
break;
}
break;
case 'f': // 4 strings to match.
if (memcmp(Name.data()+9, "loat16_rt", 9) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(111, 11); // "convert_float16_rte"
case 'n': // 1 string to match.
return std::make_pair(111, 11); // "convert_float16_rtn"
case 'p': // 1 string to match.
return std::make_pair(111, 11); // "convert_float16_rtp"
case 'z': // 1 string to match.
return std::make_pair(111, 11); // "convert_float16_rtz"
}
break;
case 'i': // 4 strings to match.
if (memcmp(Name.data()+9, "nt_sat_rt", 9) != 0)
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(397, 11); // "convert_int_sat_rtz"
}
break;
case 's': // 5 strings to match.
if (memcmp(Name.data()+9, "hort16_", 7) != 0)
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_rte"
case 'n': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_rtn"
case 'p': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_rtp"
case 'z': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(320, 11); // "convert_short16_sat"
}
break;
case 'u': // 30 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 5 strings to match.
if (memcmp(Name.data()+10, "har16_", 6) != 0)
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_rte"
case 'n': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_rtn"
case 'p': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_rtp"
case 'z': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(254, 11); // "convert_uchar16_sat"
}
break;
case 'l': // 5 strings to match.
if (memcmp(Name.data()+10, "ong16_", 6) != 0)
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_rte"
case 'n': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_rtn"
case 'p': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_rtp"
case 'z': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(716, 11); // "convert_ulong16_sat"
}
break;
case 's': // 20 strings to match.
if (memcmp(Name.data()+10, "hort", 4) != 0)
break;
switch (Name[14]) {
default: break;
case '2': // 5 strings to match.
if (Name[15] != '_')
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_rte"
case 'n': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_rtn"
case 'p': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_rtp"
case 'z': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(342, 11); // "convert_ushort2_sat"
}
break;
case '3': // 5 strings to match.
if (Name[15] != '_')
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_rte"
case 'n': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_rtn"
case 'p': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_rtp"
case 'z': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(353, 11); // "convert_ushort3_sat"
}
break;
case '4': // 5 strings to match.
if (Name[15] != '_')
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_rte"
case 'n': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_rtn"
case 'p': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_rtp"
case 'z': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(364, 11); // "convert_ushort4_sat"
}
break;
case '8': // 5 strings to match.
if (Name[15] != '_')
break;
switch (Name[16]) {
default: break;
case 'r': // 4 strings to match.
if (Name[17] != 't')
break;
switch (Name[18]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_rte"
case 'n': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_rtn"
case 'p': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_rtp"
case 'z': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+17, "at", 2) != 0)
break;
return std::make_pair(375, 11); // "convert_ushort8_sat"
}
break;
}
break;
}
break;
}
break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+1, "et_local_linear_id", 18) != 0)
break;
return std::make_pair(730, 1); // "get_local_linear_id"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "s_valid_reserve_id", 18) != 0)
break;
return std::make_pair(2300, 1); // "is_valid_reserve_id"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_broadcast", 18) != 0)
break;
return std::make_pair(2352, 3); // "sub_group_broadcast"
}
break;
case 20: // 48 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_load_explicit", 19) != 0)
break;
return std::make_pair(1539, 12); // "atomic_load_explicit"
case 'c': // 37 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+9, "har_sat_rt", 10) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(133, 11); // "convert_char_sat_rtz"
}
break;
case 'd': // 4 strings to match.
if (memcmp(Name.data()+9, "ouble16_rt", 10) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(584, 11); // "convert_double16_rte"
case 'n': // 1 string to match.
return std::make_pair(584, 11); // "convert_double16_rtn"
case 'p': // 1 string to match.
return std::make_pair(584, 11); // "convert_double16_rtp"
case 'z': // 1 string to match.
return std::make_pair(584, 11); // "convert_double16_rtz"
}
break;
case 'i': // 16 strings to match.
if (memcmp(Name.data()+9, "nt", 2) != 0)
break;
switch (Name[11]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+12, "_sat_rt", 7) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(408, 11); // "convert_int2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+12, "_sat_rt", 7) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(419, 11); // "convert_int3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+12, "_sat_rt", 7) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(430, 11); // "convert_int4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+12, "_sat_rt", 7) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(441, 11); // "convert_int8_sat_rtz"
}
break;
}
break;
case 'l': // 4 strings to match.
if (memcmp(Name.data()+9, "ong_sat_rt", 10) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(595, 11); // "convert_long_sat_rtz"
}
break;
case 'u': // 9 strings to match.
switch (Name[9]) {
default: break;
case 'i': // 4 strings to match.
if (memcmp(Name.data()+10, "nt_sat_rt", 9) != 0)
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(463, 11); // "convert_uint_sat_rtz"
}
break;
case 's': // 5 strings to match.
if (memcmp(Name.data()+10, "hort16_", 7) != 0)
break;
switch (Name[17]) {
default: break;
case 'r': // 4 strings to match.
if (Name[18] != 't')
break;
switch (Name[19]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_rte"
case 'n': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_rtn"
case 'p': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_rtp"
case 'z': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_rtz"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+18, "at", 2) != 0)
break;
return std::make_pair(386, 11); // "convert_ushort16_sat"
}
break;
}
break;
}
break;
case 'd': // 3 strings to match.
if (memcmp(Name.data()+1, "ot_4x8packed_", 13) != 0)
break;
switch (Name[14]) {
default: break;
case 's': // 2 strings to match.
switch (Name[15]) {
default: break;
case 's': // 1 string to match.
if (memcmp(Name.data()+16, "_int", 4) != 0)
break;
return std::make_pair(2387, 1); // "dot_4x8packed_ss_int"
case 'u': // 1 string to match.
if (memcmp(Name.data()+16, "_int", 4) != 0)
break;
return std::make_pair(2387, 1); // "dot_4x8packed_su_int"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+15, "s_int", 5) != 0)
break;
return std::make_pair(2387, 1); // "dot_4x8packed_us_int"
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+5, "lobal_linear_id", 15) != 0)
break;
return std::make_pair(730, 1); // "get_global_linear_id"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_array_size", 15) != 0)
break;
return std::make_pair(2246, 15); // "get_image_array_size"
}
break;
case 's': // 4 strings to match.
if (memcmp(Name.data()+1, "ub_group_", 9) != 0)
break;
switch (Name[10]) {
default: break;
case 'r': // 3 strings to match.
if (memcmp(Name.data()+11, "educe_", 6) != 0)
break;
switch (Name[17]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+18, "dd", 2) != 0)
break;
return std::make_pair(2355, 2); // "sub_group_reduce_add"
case 'm': // 2 strings to match.
switch (Name[18]) {
default: break;
case 'a': // 1 string to match.
if (Name[19] != 'x')
break;
return std::make_pair(2355, 2); // "sub_group_reduce_max"
case 'i': // 1 string to match.
if (Name[19] != 'n')
break;
return std::make_pair(2355, 2); // "sub_group_reduce_min"
}
break;
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+11, "huffle_up", 9) != 0)
break;
return std::make_pair(2372, 1); // "sub_group_shuffle_up"
}
break;
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "ork_group_broadcast", 19) != 0)
break;
return std::make_pair(2296, 3); // "work_group_broadcast"
}
break;
case 21: // 78 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[1]) {
default: break;
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "ync_work_group_copy", 19) != 0)
break;
return std::make_pair(1450, 2); // "async_work_group_copy"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "omic_store_explicit", 19) != 0)
break;
return std::make_pair(1521, 12); // "atomic_store_explicit"
}
break;
case 'c': // 64 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 16 strings to match.
if (memcmp(Name.data()+9, "har", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(144, 11); // "convert_char2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(155, 11); // "convert_char3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(166, 11); // "convert_char4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(177, 11); // "convert_char8_sat_rtz"
}
break;
}
break;
case 'i': // 4 strings to match.
if (memcmp(Name.data()+9, "nt16_sat_rt", 11) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(452, 11); // "convert_int16_sat_rtz"
}
break;
case 'l': // 16 strings to match.
if (memcmp(Name.data()+9, "ong", 3) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(606, 11); // "convert_long2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(617, 11); // "convert_long3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(628, 11); // "convert_long4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(639, 11); // "convert_long8_sat_rtz"
}
break;
}
break;
case 's': // 4 strings to match.
if (memcmp(Name.data()+9, "hort_sat_rt", 11) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(265, 11); // "convert_short_sat_rtz"
}
break;
case 'u': // 24 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+10, "har_sat_rt", 10) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(199, 11); // "convert_uchar_sat_rtz"
}
break;
case 'i': // 16 strings to match.
if (memcmp(Name.data()+10, "nt", 2) != 0)
break;
switch (Name[12]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(474, 11); // "convert_uint2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(485, 11); // "convert_uint3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(496, 11); // "convert_uint4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+13, "_sat_rt", 7) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(507, 11); // "convert_uint8_sat_rtz"
}
break;
}
break;
case 'l': // 4 strings to match.
if (memcmp(Name.data()+10, "ong_sat_rt", 10) != 0)
break;
switch (Name[20]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(661, 11); // "convert_ulong_sat_rtz"
}
break;
}
break;
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ot_4x8packed_uu_uint", 20) != 0)
break;
return std::make_pair(2386, 1); // "dot_4x8packed_uu_uint"
case 'g': // 6 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_num_samples", 16) != 0)
break;
return std::make_pair(2335, 12); // "get_image_num_samples"
case 's': // 5 strings to match.
if (memcmp(Name.data()+5, "ub_group_", 9) != 0)
break;
switch (Name[14]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+15, "q_mask", 6) != 0)
break;
return std::make_pair(2367, 1); // "get_sub_group_eq_mask"
case 'g': // 2 strings to match.
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+16, "_mask", 5) != 0)
break;
return std::make_pair(2367, 1); // "get_sub_group_ge_mask"
case 't': // 1 string to match.
if (memcmp(Name.data()+16, "_mask", 5) != 0)
break;
return std::make_pair(2367, 1); // "get_sub_group_gt_mask"
}
break;
case 'l': // 2 strings to match.
switch (Name[15]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+16, "_mask", 5) != 0)
break;
return std::make_pair(2367, 1); // "get_sub_group_le_mask"
case 't': // 1 string to match.
if (memcmp(Name.data()+16, "_mask", 5) != 0)
break;
return std::make_pair(2367, 1); // "get_sub_group_lt_mask"
}
break;
}
break;
}
break;
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "t_user_event_status", 19) != 0)
break;
return std::make_pair(2305, 1); // "set_user_event_status"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "b_group_shuffle_xor", 19) != 0)
break;
return std::make_pair(2371, 1); // "sub_group_shuffle_xor"
}
break;
case 'w': // 3 strings to match.
if (memcmp(Name.data()+1, "ork_group_reduce_", 17) != 0)
break;
switch (Name[18]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+19, "dd", 2) != 0)
break;
return std::make_pair(2299, 1); // "work_group_reduce_add"
case 'm': // 2 strings to match.
switch (Name[19]) {
default: break;
case 'a': // 1 string to match.
if (Name[20] != 'x')
break;
return std::make_pair(2299, 1); // "work_group_reduce_max"
case 'i': // 1 string to match.
if (Name[20] != 'n')
break;
return std::make_pair(2299, 1); // "work_group_reduce_min"
}
break;
}
break;
}
break;
case 22: // 68 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_work_item_fence", 21) != 0)
break;
return std::make_pair(1514, 1); // "atomic_work_item_fence"
case 'c': // 64 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+9, "har16_sat_rt", 12) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(188, 11); // "convert_char16_sat_rtz"
}
break;
case 'l': // 4 strings to match.
if (memcmp(Name.data()+9, "ong16_sat_rt", 12) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(650, 11); // "convert_long16_sat_rtz"
}
break;
case 's': // 16 strings to match.
if (memcmp(Name.data()+9, "hort", 4) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(276, 11); // "convert_short2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(287, 11); // "convert_short3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(298, 11); // "convert_short4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(309, 11); // "convert_short8_sat_rtz"
}
break;
}
break;
case 'u': // 40 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 16 strings to match.
if (memcmp(Name.data()+10, "har", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(210, 11); // "convert_uchar2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(221, 11); // "convert_uchar3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(232, 11); // "convert_uchar4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(243, 11); // "convert_uchar8_sat_rtz"
}
break;
}
break;
case 'i': // 4 strings to match.
if (memcmp(Name.data()+10, "nt16_sat_rt", 11) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(518, 11); // "convert_uint16_sat_rtz"
}
break;
case 'l': // 16 strings to match.
if (memcmp(Name.data()+10, "ong", 3) != 0)
break;
switch (Name[13]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(672, 11); // "convert_ulong2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(683, 11); // "convert_ulong3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(694, 11); // "convert_ulong4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+14, "_sat_rt", 7) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(705, 11); // "convert_ulong8_sat_rtz"
}
break;
}
break;
case 's': // 4 strings to match.
if (memcmp(Name.data()+10, "hort_sat_rt", 11) != 0)
break;
switch (Name[21]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(331, 11); // "convert_ushort_sat_rtz"
}
break;
}
break;
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+5, "ax_sub_group_size", 17) != 0)
break;
return std::make_pair(2347, 1); // "get_max_sub_group_size"
case 's': // 1 string to match.
if (memcmp(Name.data()+5, "ub_group_local_id", 17) != 0)
break;
return std::make_pair(2347, 1); // "get_sub_group_local_id"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_shuffle_down", 21) != 0)
break;
return std::make_pair(2372, 1); // "sub_group_shuffle_down"
}
break;
case 23: // 31 strings to match.
switch (Name[0]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "itfield_extract_signed", 22) != 0)
break;
return std::make_pair(2377, 2); // "bitfield_extract_signed"
case 'c': // 28 strings to match.
if (memcmp(Name.data()+1, "onvert_", 7) != 0)
break;
switch (Name[8]) {
default: break;
case 's': // 4 strings to match.
if (memcmp(Name.data()+9, "hort16_sat_rt", 13) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(320, 11); // "convert_short16_sat_rtz"
}
break;
case 'u': // 24 strings to match.
switch (Name[9]) {
default: break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+10, "har16_sat_rt", 12) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(254, 11); // "convert_uchar16_sat_rtz"
}
break;
case 'l': // 4 strings to match.
if (memcmp(Name.data()+10, "ong16_sat_rt", 12) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(716, 11); // "convert_ulong16_sat_rtz"
}
break;
case 's': // 16 strings to match.
if (memcmp(Name.data()+10, "hort", 4) != 0)
break;
switch (Name[14]) {
default: break;
case '2': // 4 strings to match.
if (memcmp(Name.data()+15, "_sat_rt", 7) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(342, 11); // "convert_ushort2_sat_rtz"
}
break;
case '3': // 4 strings to match.
if (memcmp(Name.data()+15, "_sat_rt", 7) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(353, 11); // "convert_ushort3_sat_rtz"
}
break;
case '4': // 4 strings to match.
if (memcmp(Name.data()+15, "_sat_rt", 7) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(364, 11); // "convert_ushort4_sat_rtz"
}
break;
case '8': // 4 strings to match.
if (memcmp(Name.data()+15, "_sat_rt", 7) != 0)
break;
switch (Name[22]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(375, 11); // "convert_ushort8_sat_rtz"
}
break;
}
break;
}
break;
}
break;
case 'g': // 2 strings to match.
if (memcmp(Name.data()+1, "et_", 3) != 0)
break;
switch (Name[4]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+5, "nqueued_local_size", 18) != 0)
break;
return std::make_pair(729, 1); // "get_enqueued_local_size"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_channel_order", 18) != 0)
break;
return std::make_pair(2153, 36); // "get_image_channel_order"
}
break;
}
break;
case 24: // 9 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 3 strings to match.
if (memcmp(Name.data()+1, "tomic_", 6) != 0)
break;
switch (Name[7]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+8, "xchange_explicit", 16) != 0)
break;
return std::make_pair(1557, 12); // "atomic_exchange_explicit"
case 'f': // 2 strings to match.
switch (Name[8]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+9, "tch_or_explicit", 15) != 0)
break;
return std::make_pair(1606, 8); // "atomic_fetch_or_explicit"
case 'l': // 1 string to match.
if (memcmp(Name.data()+9, "ag_test_and_set", 15) != 0)
break;
return std::make_pair(1617, 1); // "atomic_flag_test_and_set"
}
break;
}
break;
case 'c': // 4 strings to match.
if (memcmp(Name.data()+1, "onvert_ushort16_sat_rt", 22) != 0)
break;
switch (Name[23]) {
default: break;
case 'e': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_sat_rte"
case 'n': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_sat_rtn"
case 'p': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_sat_rtp"
case 'z': // 1 string to match.
return std::make_pair(386, 11); // "convert_ushort16_sat_rtz"
}
break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+1, "et_image_num_mip_levels", 23) != 0)
break;
return std::make_pair(2314, 21); // "get_image_num_mip_levels"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_inverse_ballot", 23) != 0)
break;
return std::make_pair(2363, 1); // "sub_group_inverse_ballot"
}
break;
case 25: // 12 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 6 strings to match.
if (memcmp(Name.data()+1, "tomic_fetch_", 12) != 0)
break;
switch (Name[13]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[14]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+15, "d_explicit", 10) != 0)
break;
return std::make_pair(1592, 10); // "atomic_fetch_add_explicit"
case 'n': // 1 string to match.
if (memcmp(Name.data()+15, "d_explicit", 10) != 0)
break;
return std::make_pair(1606, 8); // "atomic_fetch_and_explicit"
}
break;
case 'm': // 2 strings to match.
switch (Name[14]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+15, "x_explicit", 10) != 0)
break;
return std::make_pair(1606, 8); // "atomic_fetch_max_explicit"
case 'i': // 1 string to match.
if (memcmp(Name.data()+15, "n_explicit", 10) != 0)
break;
return std::make_pair(1606, 8); // "atomic_fetch_min_explicit"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+14, "ub_explicit", 11) != 0)
break;
return std::make_pair(1592, 10); // "atomic_fetch_sub_explicit"
case 'x': // 1 string to match.
if (memcmp(Name.data()+14, "or_explicit", 11) != 0)
break;
return std::make_pair(1606, 8); // "atomic_fetch_xor_explicit"
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "itfield_extract_unsigned", 24) != 0)
break;
return std::make_pair(2379, 2); // "bitfield_extract_unsigned"
case 's': // 5 strings to match.
if (memcmp(Name.data()+1, "ub_group_", 9) != 0)
break;
switch (Name[10]) {
default: break;
case 'b': // 3 strings to match.
switch (Name[11]) {
default: break;
case 'a': // 2 strings to match.
if (memcmp(Name.data()+12, "llot_find_", 10) != 0)
break;
switch (Name[22]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+23, "sb", 2) != 0)
break;
return std::make_pair(2366, 1); // "sub_group_ballot_find_lsb"
case 'm': // 1 string to match.
if (memcmp(Name.data()+23, "sb", 2) != 0)
break;
return std::make_pair(2366, 1); // "sub_group_ballot_find_msb"
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+12, "oadcast_first", 13) != 0)
break;
return std::make_pair(2361, 1); // "sub_group_broadcast_first"
}
break;
case 'n': // 2 strings to match.
if (memcmp(Name.data()+11, "on_uniform_a", 12) != 0)
break;
switch (Name[23]) {
default: break;
case 'l': // 1 string to match.
if (Name[24] != 'l')
break;
return std::make_pair(2358, 1); // "sub_group_non_uniform_all"
case 'n': // 1 string to match.
if (Name[24] != 'y')
break;
return std::make_pair(2358, 1); // "sub_group_non_uniform_any"
}
break;
}
break;
}
break;
case 26: // 2 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_flag_clear_explicit", 25) != 0)
break;
return std::make_pair(1615, 2); // "atomic_flag_clear_explicit"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_ballot_bit_count", 25) != 0)
break;
return std::make_pair(2365, 1); // "sub_group_ballot_bit_count"
}
break;
case 27: // 2 strings to match.
if (memcmp(Name.data()+0, "get_", 4) != 0)
break;
switch (Name[4]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+5, "nqueued_num_sub_groups", 22) != 0)
break;
return std::make_pair(2348, 1); // "get_enqueued_num_sub_groups"
case 'i': // 1 string to match.
if (memcmp(Name.data()+5, "mage_channel_data_type", 22) != 0)
break;
return std::make_pair(2153, 36); // "get_image_channel_data_type"
}
break;
case 28: // 12 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_compare_exchange_weak", 27) != 0)
break;
return std::make_pair(1569, 6); // "atomic_compare_exchange_weak"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "apture_event_profiling_info", 27) != 0)
break;
return std::make_pair(2306, 1); // "capture_event_profiling_info"
case 'd': // 3 strings to match.
if (memcmp(Name.data()+1, "ot_acc_sat_4x8packed_", 21) != 0)
break;
switch (Name[22]) {
default: break;
case 's': // 2 strings to match.
switch (Name[23]) {
default: break;
case 's': // 1 string to match.
if (memcmp(Name.data()+24, "_int", 4) != 0)
break;
return std::make_pair(2389, 1); // "dot_acc_sat_4x8packed_ss_int"
case 'u': // 1 string to match.
if (memcmp(Name.data()+24, "_int", 4) != 0)
break;
return std::make_pair(2389, 1); // "dot_acc_sat_4x8packed_su_int"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+23, "s_int", 5) != 0)
break;
return std::make_pair(2389, 1); // "dot_acc_sat_4x8packed_us_int"
}
break;
case 's': // 7 strings to match.
if (memcmp(Name.data()+1, "ub_group_", 9) != 0)
break;
switch (Name[10]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+11, "allot_bit_extract", 17) != 0)
break;
return std::make_pair(2364, 1); // "sub_group_ballot_bit_extract"
case 's': // 6 strings to match.
if (memcmp(Name.data()+11, "can_", 4) != 0)
break;
switch (Name[15]) {
default: break;
case 'e': // 3 strings to match.
if (memcmp(Name.data()+16, "xclusive_", 9) != 0)
break;
switch (Name[25]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+26, "dd", 2) != 0)
break;
return std::make_pair(2355, 2); // "sub_group_scan_exclusive_add"
case 'm': // 2 strings to match.
switch (Name[26]) {
default: break;
case 'a': // 1 string to match.
if (Name[27] != 'x')
break;
return std::make_pair(2355, 2); // "sub_group_scan_exclusive_max"
case 'i': // 1 string to match.
if (Name[27] != 'n')
break;
return std::make_pair(2355, 2); // "sub_group_scan_exclusive_min"
}
break;
}
break;
case 'i': // 3 strings to match.
if (memcmp(Name.data()+16, "nclusive_", 9) != 0)
break;
switch (Name[25]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+26, "dd", 2) != 0)
break;
return std::make_pair(2355, 2); // "sub_group_scan_inclusive_add"
case 'm': // 2 strings to match.
switch (Name[26]) {
default: break;
case 'a': // 1 string to match.
if (Name[27] != 'x')
break;
return std::make_pair(2355, 2); // "sub_group_scan_inclusive_max"
case 'i': // 1 string to match.
if (Name[27] != 'n')
break;
return std::make_pair(2355, 2); // "sub_group_scan_inclusive_min"
}
break;
}
break;
}
break;
}
break;
}
break;
case 29: // 9 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "sync_work_group_strided_copy", 28) != 0)
break;
return std::make_pair(1452, 2); // "async_work_group_strided_copy"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ot_acc_sat_4x8packed_uu_uint", 28) != 0)
break;
return std::make_pair(2388, 1); // "dot_acc_sat_4x8packed_uu_uint"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_clustered_reduce_or", 28) != 0)
break;
return std::make_pair(2374, 1); // "sub_group_clustered_reduce_or"
case 'w': // 6 strings to match.
if (memcmp(Name.data()+1, "ork_group_scan_", 15) != 0)
break;
switch (Name[16]) {
default: break;
case 'e': // 3 strings to match.
if (memcmp(Name.data()+17, "xclusive_", 9) != 0)
break;
switch (Name[26]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+27, "dd", 2) != 0)
break;
return std::make_pair(2299, 1); // "work_group_scan_exclusive_add"
case 'm': // 2 strings to match.
switch (Name[27]) {
default: break;
case 'a': // 1 string to match.
if (Name[28] != 'x')
break;
return std::make_pair(2299, 1); // "work_group_scan_exclusive_max"
case 'i': // 1 string to match.
if (Name[28] != 'n')
break;
return std::make_pair(2299, 1); // "work_group_scan_exclusive_min"
}
break;
}
break;
case 'i': // 3 strings to match.
if (memcmp(Name.data()+17, "nclusive_", 9) != 0)
break;
switch (Name[26]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+27, "dd", 2) != 0)
break;
return std::make_pair(2299, 1); // "work_group_scan_inclusive_add"
case 'm': // 2 strings to match.
switch (Name[27]) {
default: break;
case 'a': // 1 string to match.
if (Name[28] != 'x')
break;
return std::make_pair(2299, 1); // "work_group_scan_inclusive_max"
case 'i': // 1 string to match.
if (Name[28] != 'n')
break;
return std::make_pair(2299, 1); // "work_group_scan_inclusive_min"
}
break;
}
break;
}
break;
}
break;
case 30: // 7 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_compare_exchange_strong", 29) != 0)
break;
return std::make_pair(1569, 6); // "atomic_compare_exchange_strong"
case 's': // 6 strings to match.
if (memcmp(Name.data()+1, "ub_group_clustered_reduce_", 26) != 0)
break;
switch (Name[27]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[28]) {
default: break;
case 'd': // 1 string to match.
if (Name[29] != 'd')
break;
return std::make_pair(2373, 1); // "sub_group_clustered_reduce_add"
case 'n': // 1 string to match.
if (Name[29] != 'd')
break;
return std::make_pair(2374, 1); // "sub_group_clustered_reduce_and"
}
break;
case 'm': // 3 strings to match.
switch (Name[28]) {
default: break;
case 'a': // 1 string to match.
if (Name[29] != 'x')
break;
return std::make_pair(2373, 1); // "sub_group_clustered_reduce_max"
case 'i': // 1 string to match.
if (Name[29] != 'n')
break;
return std::make_pair(2373, 1); // "sub_group_clustered_reduce_min"
case 'u': // 1 string to match.
if (Name[29] != 'l')
break;
return std::make_pair(2373, 1); // "sub_group_clustered_reduce_mul"
}
break;
case 'x': // 1 string to match.
if (memcmp(Name.data()+28, "or", 2) != 0)
break;
return std::make_pair(2374, 1); // "sub_group_clustered_reduce_xor"
}
break;
}
break;
case 31: // 5 strings to match.
if (memcmp(Name.data()+0, "sub_group_", 10) != 0)
break;
switch (Name[10]) {
default: break;
case 'b': // 2 strings to match.
if (memcmp(Name.data()+11, "allot_", 6) != 0)
break;
switch (Name[17]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+18, "xclusive_scan", 13) != 0)
break;
return std::make_pair(2366, 1); // "sub_group_ballot_exclusive_scan"
case 'i': // 1 string to match.
if (memcmp(Name.data()+18, "nclusive_scan", 13) != 0)
break;
return std::make_pair(2366, 1); // "sub_group_ballot_inclusive_scan"
}
break;
case 'n': // 3 strings to match.
if (memcmp(Name.data()+11, "on_uniform_", 11) != 0)
break;
switch (Name[22]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+23, "ll_equal", 8) != 0)
break;
return std::make_pair(2359, 1); // "sub_group_non_uniform_all_equal"
case 'b': // 1 string to match.
if (memcmp(Name.data()+23, "roadcast", 8) != 0)
break;
return std::make_pair(2360, 1); // "sub_group_non_uniform_broadcast"
case 'r': // 1 string to match.
if (memcmp(Name.data()+23, "educe_or", 8) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_reduce_or"
}
break;
}
break;
case 32: // 6 strings to match.
if (memcmp(Name.data()+0, "sub_group_non_uniform_reduce_", 29) != 0)
break;
switch (Name[29]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[30]) {
default: break;
case 'd': // 1 string to match.
if (Name[31] != 'd')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_reduce_add"
case 'n': // 1 string to match.
if (Name[31] != 'd')
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_reduce_and"
}
break;
case 'm': // 3 strings to match.
switch (Name[30]) {
default: break;
case 'a': // 1 string to match.
if (Name[31] != 'x')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_reduce_max"
case 'i': // 1 string to match.
if (Name[31] != 'n')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_reduce_min"
case 'u': // 1 string to match.
if (Name[31] != 'l')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_reduce_mul"
}
break;
case 'x': // 1 string to match.
if (memcmp(Name.data()+30, "or", 2) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_reduce_xor"
}
break;
case 33: // 1 string to match.
if (memcmp(Name.data()+0, "atomic_flag_test_and_set_explicit", 33) != 0)
break;
return std::make_pair(1618, 2); // "atomic_flag_test_and_set_explicit"
case 37: // 2 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_compare_exchange_weak_explicit", 36) != 0)
break;
return std::make_pair(1575, 12); // "atomic_compare_exchange_weak_explicit"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ub_group_clustered_reduce_logical_or", 36) != 0)
break;
return std::make_pair(2375, 1); // "sub_group_clustered_reduce_logical_or"
}
break;
case 38: // 2 strings to match.
if (memcmp(Name.data()+0, "sub_group_clustered_reduce_logical_", 35) != 0)
break;
switch (Name[35]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+36, "nd", 2) != 0)
break;
return std::make_pair(2375, 1); // "sub_group_clustered_reduce_logical_and"
case 'x': // 1 string to match.
if (memcmp(Name.data()+36, "or", 2) != 0)
break;
return std::make_pair(2375, 1); // "sub_group_clustered_reduce_logical_xor"
}
break;
case 39: // 4 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "tomic_compare_exchange_strong_explicit", 38) != 0)
break;
return std::make_pair(1575, 12); // "atomic_compare_exchange_strong_explicit"
case 's': // 3 strings to match.
if (memcmp(Name.data()+1, "ub_group_non_uniform_", 21) != 0)
break;
switch (Name[22]) {
default: break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+23, "educe_logical_or", 16) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_reduce_logical_or"
case 's': // 2 strings to match.
if (memcmp(Name.data()+23, "can_", 4) != 0)
break;
switch (Name[27]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+28, "xclusive_or", 11) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_exclusive_or"
case 'i': // 1 string to match.
if (memcmp(Name.data()+28, "nclusive_or", 11) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_inclusive_or"
}
break;
}
break;
}
break;
case 40: // 14 strings to match.
if (memcmp(Name.data()+0, "sub_group_non_uniform_", 22) != 0)
break;
switch (Name[22]) {
default: break;
case 'r': // 2 strings to match.
if (memcmp(Name.data()+23, "educe_logical_", 14) != 0)
break;
switch (Name[37]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+38, "nd", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_reduce_logical_and"
case 'x': // 1 string to match.
if (memcmp(Name.data()+38, "or", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_reduce_logical_xor"
}
break;
case 's': // 12 strings to match.
if (memcmp(Name.data()+23, "can_", 4) != 0)
break;
switch (Name[27]) {
default: break;
case 'e': // 6 strings to match.
if (memcmp(Name.data()+28, "xclusive_", 9) != 0)
break;
switch (Name[37]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[38]) {
default: break;
case 'd': // 1 string to match.
if (Name[39] != 'd')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_exclusive_add"
case 'n': // 1 string to match.
if (Name[39] != 'd')
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_exclusive_and"
}
break;
case 'm': // 3 strings to match.
switch (Name[38]) {
default: break;
case 'a': // 1 string to match.
if (Name[39] != 'x')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_exclusive_max"
case 'i': // 1 string to match.
if (Name[39] != 'n')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_exclusive_min"
case 'u': // 1 string to match.
if (Name[39] != 'l')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_exclusive_mul"
}
break;
case 'x': // 1 string to match.
if (memcmp(Name.data()+38, "or", 2) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_exclusive_xor"
}
break;
case 'i': // 6 strings to match.
if (memcmp(Name.data()+28, "nclusive_", 9) != 0)
break;
switch (Name[37]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[38]) {
default: break;
case 'd': // 1 string to match.
if (Name[39] != 'd')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_inclusive_add"
case 'n': // 1 string to match.
if (Name[39] != 'd')
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_inclusive_and"
}
break;
case 'm': // 3 strings to match.
switch (Name[38]) {
default: break;
case 'a': // 1 string to match.
if (Name[39] != 'x')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_inclusive_max"
case 'i': // 1 string to match.
if (Name[39] != 'n')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_inclusive_min"
case 'u': // 1 string to match.
if (Name[39] != 'l')
break;
return std::make_pair(2368, 1); // "sub_group_non_uniform_scan_inclusive_mul"
}
break;
case 'x': // 1 string to match.
if (memcmp(Name.data()+38, "or", 2) != 0)
break;
return std::make_pair(2369, 1); // "sub_group_non_uniform_scan_inclusive_xor"
}
break;
}
break;
}
break;
case 47: // 2 strings to match.
if (memcmp(Name.data()+0, "sub_group_non_uniform_scan_", 27) != 0)
break;
switch (Name[27]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+28, "xclusive_logical_or", 19) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_exclusive_logical_or"
case 'i': // 1 string to match.
if (memcmp(Name.data()+28, "nclusive_logical_or", 19) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_inclusive_logical_or"
}
break;
case 48: // 4 strings to match.
if (memcmp(Name.data()+0, "sub_group_non_uniform_scan_", 27) != 0)
break;
switch (Name[27]) {
default: break;
case 'e': // 2 strings to match.
if (memcmp(Name.data()+28, "xclusive_logical_", 17) != 0)
break;
switch (Name[45]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+46, "nd", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_exclusive_logical_and"
case 'x': // 1 string to match.
if (memcmp(Name.data()+46, "or", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_exclusive_logical_xor"
}
break;
case 'i': // 2 strings to match.
if (memcmp(Name.data()+28, "nclusive_logical_", 17) != 0)
break;
switch (Name[45]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+46, "nd", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_inclusive_logical_and"
case 'x': // 1 string to match.
if (memcmp(Name.data()+46, "or", 2) != 0)
break;
return std::make_pair(2370, 1); // "sub_group_non_uniform_scan_inclusive_logical_xor"
}
break;
}
break;
}
return std::make_pair(0, 0);
} // isOpenCLBuiltin
static QualType getOpenCLEnumType(Sema &S, llvm::StringRef Name);
static QualType getOpenCLTypedefType(Sema &S, llvm::StringRef Name);
// Convert an OpenCLTypeStruct type to a list of QualTypes.
// Generic types represent multiple types and vector sizes, thus a vector
// is returned. The conversion is done in two steps:
// Step 1: A switch statement fills a vector with scalar base types for the
// Cartesian product of (vector sizes) x (types) for generic types,
// or a single scalar type for non generic types.
// Step 2: Qualifiers and other type properties such as vector size are
// applied.
static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
llvm::SmallVectorImpl<QualType> &QT) {
ASTContext &Context = S.Context;
// Number of scalar types in the GenType.
unsigned GenTypeNumTypes;
// Pointer to the list of vector sizes for the GenType.
llvm::ArrayRef<unsigned> GenVectorSizes;
constexpr unsigned ListVec1[] = {1, };
constexpr unsigned ListVec1234[] = {1, 2, 3, 4, };
constexpr unsigned ListVecAndScalar[] = {1, 2, 3, 4, 8, 16, };
constexpr unsigned ListVecNoScalar[] = {2, 3, 4, 8, 16, };
switch (Ty.ID) {
case OCLT_image2d_depth_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dDepthROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dDepthRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dDepthWOTy);
break;
}
break;
case OCLT_image2d_array_msaa_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dArrayMSAAROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dArrayMSAARWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dArrayMSAAWOTy);
break;
}
break;
case OCLT_image2d_msaa_depth_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dMSAADepthROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dMSAADepthRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dMSAADepthWOTy);
break;
}
break;
case OCLT_image2d_msaa_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dMSAAROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dMSAARWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dMSAAWOTy);
break;
}
break;
case OCLT_image1d_buffer_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage1dBufferROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage1dBufferRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage1dBufferWOTy);
break;
}
break;
case OCLT_image1d_array_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage1dArrayROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage1dArrayRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage1dArrayWOTy);
break;
}
break;
case OCLT_image2d_array_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dArrayROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dArrayRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dArrayWOTy);
break;
}
break;
case OCLT_image1d_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage1dROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage1dRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage1dWOTy);
break;
}
break;
case OCLT_image2d_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dWOTy);
break;
}
break;
case OCLT_image3d_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage3dROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage3dRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage3dWOTy);
break;
}
break;
case OCLT_image2d_array_depth_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dArrayDepthROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dArrayDepthRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dArrayDepthWOTy);
break;
}
break;
case OCLT_image2d_array_msaa_depth_t:
switch (Ty.AccessQualifier) {
case OCLAQ_None:
llvm_unreachable("Image without access qualifier");
case OCLAQ_ReadOnly:
QT.push_back(Context.OCLImage2dArrayMSAADepthROTy);
break;
case OCLAQ_ReadWrite:
QT.push_back(Context.OCLImage2dArrayMSAADepthRWTy);
break;
case OCLAQ_WriteOnly:
QT.push_back(Context.OCLImage2dArrayMSAADepthWOTy);
break;
}
break;
case OCLT_AGenType1: {
SmallVector<QualType, 11> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
TypeList.push_back(Context.FloatTy);
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(11);
for (unsigned I = 0; I < 1; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1;
break;
}
case OCLT_AGenTypeN: {
SmallVector<QualType, 11> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
TypeList.push_back(Context.FloatTy);
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(66);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_AGenTypeNNoScalar: {
SmallVector<QualType, 11> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
TypeList.push_back(Context.FloatTy);
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(55);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_AI2UGenTypeN: {
SmallVector<QualType, 8> TypeList;
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.UnsignedLongTy);
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(48);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_AIGenType1: {
SmallVector<QualType, 8> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(8);
for (unsigned I = 0; I < 1; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1;
break;
}
case OCLT_AIGenTypeN: {
SmallVector<QualType, 8> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(48);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_AIGenTypeNNoScalar: {
SmallVector<QualType, 8> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(40);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_CharShortGenType1: {
SmallVector<QualType, 4> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.UnsignedShortTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(4);
for (unsigned I = 0; I < 1; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1;
break;
}
case OCLT_FGenTypeN: {
SmallVector<QualType, 3> TypeList;
TypeList.push_back(Context.FloatTy);
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(18);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeCharVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.CharTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeCharVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.CharTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeDoubleVec1234: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(4);
for (unsigned I = 0; I < 4; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1234;
break;
}
case OCLT_GenTypeDoubleVecAndScalar: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeDoubleVecNoScalar: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeFloatVec1234: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.FloatTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(4);
for (unsigned I = 0; I < 4; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1234;
break;
}
case OCLT_GenTypeFloatVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.FloatTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeFloatVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.FloatTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeHalfVec1234: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(4);
for (unsigned I = 0; I < 4; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1234;
break;
}
case OCLT_GenTypeHalfVecAndScalar: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeHalfVecNoScalar: {
SmallVector<QualType, 1> TypeList;
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeIntVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.IntTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeIntVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.IntTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeLongVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.LongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeLongVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.LongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeShortVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.ShortTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeShortVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.ShortTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeUCharVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedCharTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeUCharVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedCharTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeUIntVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedIntTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeUIntVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedIntTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeULongVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeULongVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_GenTypeUShortVecAndScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedShortTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(6);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_GenTypeUShortVecNoScalar: {
SmallVector<QualType, 1> TypeList;
TypeList.push_back(Context.UnsignedShortTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(5);
for (unsigned I = 0; I < 5; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecNoScalar;
break;
}
case OCLT_IntLongFloatGenType1: {
SmallVector<QualType, 7> TypeList;
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.LongTy);
TypeList.push_back(Context.UnsignedLongTy);
TypeList.push_back(Context.FloatTy);
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
TypeList.push_back(Context.DoubleTy);
}
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
TypeList.push_back(Context.HalfTy);
}
GenTypeNumTypes = TypeList.size();
QT.reserve(7);
for (unsigned I = 0; I < 1; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVec1;
break;
}
case OCLT_SGenTypeN: {
SmallVector<QualType, 4> TypeList;
TypeList.push_back(Context.CharTy);
TypeList.push_back(Context.ShortTy);
TypeList.push_back(Context.IntTy);
TypeList.push_back(Context.LongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(24);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_UGenTypeN: {
SmallVector<QualType, 4> TypeList;
TypeList.push_back(Context.UnsignedCharTy);
TypeList.push_back(Context.UnsignedShortTy);
TypeList.push_back(Context.UnsignedIntTy);
TypeList.push_back(Context.UnsignedLongTy);
GenTypeNumTypes = TypeList.size();
QT.reserve(24);
for (unsigned I = 0; I < 6; I++) {
QT.append(TypeList);
}
GenVectorSizes = ListVecAndScalar;
break;
}
case OCLT_atomic_double:
QT.push_back(Context.getAtomicType(Context.DoubleTy));
break;
case OCLT_atomic_flag:
QT.push_back(getOpenCLTypedefType(S, "atomic_flag"));
break;
case OCLT_atomic_float:
QT.push_back(Context.getAtomicType(Context.FloatTy));
break;
case OCLT_atomic_int:
QT.push_back(Context.getAtomicType(Context.IntTy));
break;
case OCLT_atomic_intptr_t:
QT.push_back(Context.getAtomicType(Context.getIntPtrType()));
break;
case OCLT_atomic_long:
QT.push_back(Context.getAtomicType(Context.LongTy));
break;
case OCLT_atomic_ptrdiff_t:
QT.push_back(Context.getAtomicType(Context.getPointerDiffType()));
break;
case OCLT_atomic_size_t:
QT.push_back(Context.getAtomicType(Context.getSizeType()));
break;
case OCLT_atomic_uint:
QT.push_back(Context.getAtomicType(Context.UnsignedIntTy));
break;
case OCLT_atomic_uintptr_t:
QT.push_back(Context.getAtomicType(Context.getUIntPtrType()));
break;
case OCLT_atomic_ulong:
QT.push_back(Context.getAtomicType(Context.UnsignedLongTy));
break;
case OCLT_bool:
QT.push_back(Context.BoolTy);
break;
case OCLT_char:
QT.push_back(Context.CharTy);
break;
case OCLT_clk_event_t:
QT.push_back(Context.OCLClkEventTy);
break;
case OCLT_clk_profiling_info:
QT.push_back(getOpenCLTypedefType(S, "clk_profiling_info"));
break;
case OCLT_double:
if (S.getPreprocessor().isMacroDefined("cl_khr_fp64")) {
QT.push_back(Context.DoubleTy);
}
break;
case OCLT_event_t:
QT.push_back(Context.OCLEventTy);
break;
case OCLT_float:
QT.push_back(Context.FloatTy);
break;
case OCLT_half:
if (S.getPreprocessor().isMacroDefined("cl_khr_fp16")) {
QT.push_back(Context.HalfTy);
}
break;
case OCLT_int:
QT.push_back(Context.IntTy);
break;
case OCLT_intptr_t:
QT.push_back(Context.getIntPtrType());
break;
case OCLT_long:
QT.push_back(Context.LongTy);
break;
case OCLT_cl_mem_fence_flags:
QT.push_back(getOpenCLTypedefType(S, "cl_mem_fence_flags"));
break;
case OCLT_memory_order:
QT.push_back(getOpenCLEnumType(S, "memory_order"));
break;
case OCLT_memory_scope:
QT.push_back(getOpenCLEnumType(S, "memory_scope"));
break;
case OCLT_ndrange_t:
QT.push_back(getOpenCLTypedefType(S, "ndrange_t"));
break;
case OCLT_ptrdiff_t:
QT.push_back(Context.getPointerDiffType());
break;
case OCLT_queue_t:
QT.push_back(Context.OCLQueueTy);
break;
case OCLT_reserve_id_t:
QT.push_back(Context.OCLReserveIDTy);
break;
case OCLT_sampler_t:
QT.push_back(Context.OCLSamplerTy);
break;
case OCLT_short:
QT.push_back(Context.ShortTy);
break;
case OCLT_size_t:
QT.push_back(Context.getSizeType());
break;
case OCLT_uchar:
QT.push_back(Context.UnsignedCharTy);
break;
case OCLT_uint:
QT.push_back(Context.UnsignedIntTy);
break;
case OCLT_uintptr_t:
QT.push_back(Context.getUIntPtrType());
break;
case OCLT_ulong:
QT.push_back(Context.UnsignedLongTy);
break;
case OCLT_ushort:
QT.push_back(Context.UnsignedShortTy);
break;
case OCLT_void:
QT.push_back(Context.VoidTy);
break;
} // end of switch (Ty.ID)
// Construct the different vector types for each generic type.
if (Ty.ID >= 50) {
for (unsigned I = 0; I < QT.size(); I++) {
// For scalars, size is 1.
if (GenVectorSizes[I / GenTypeNumTypes] != 1) {
QT[I] = Context.getExtVectorType(QT[I],
GenVectorSizes[I / GenTypeNumTypes]);
}
}
}
// Set vector size for non-generic vector types.
if (Ty.VectorWidth > 1) {
for (unsigned Index = 0; Index < QT.size(); Index++) {
QT[Index] = Context.getExtVectorType(QT[Index], Ty.VectorWidth);
}
}
if (Ty.IsVolatile != 0) {
for (unsigned Index = 0; Index < QT.size(); Index++) {
QT[Index] = Context.getVolatileType(QT[Index]);
}
}
if (Ty.IsConst != 0) {
for (unsigned Index = 0; Index < QT.size(); Index++) {
QT[Index] = Context.getConstType(QT[Index]);
}
}
// Transform the type to a pointer as the last step, if necessary.
// Builtin functions only have pointers on [const|volatile], no
// [const|volatile] pointers, so this is ok to do it as a last step.
if (Ty.IsPointer != 0) {
for (unsigned Index = 0; Index < QT.size(); Index++) {
QT[Index] = Context.getAddrSpaceQualType(QT[Index], Ty.AS);
QT[Index] = Context.getPointerType(QT[Index]);
}
}
} // OCL2Qual
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment