| /* | |
| ** Copyright (c) 2015-2017 The Khronos Group Inc. | |
| ** | |
| ** Permission is hereby granted, free of charge, to any person obtaining a copy | |
| ** of this software and/or associated documentation files (the "Materials"), | |
| ** to deal in the Materials without restriction, including without limitation | |
| ** the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| ** and/or sell copies of the Materials, and to permit persons to whom the | |
| ** Materials are furnished to do so, subject to the following conditions: | |
| ** | |
| ** The above copyright notice and this permission notice shall be included in | |
| ** all copies or substantial portions of the Materials. | |
| ** | |
| ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS | |
| ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND | |
| ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ | |
| ** | |
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |
| ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
| ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS | |
| ** IN THE MATERIALS. | |
| */ | |
| namespace OpenCLLIB { | |
| enum Entrypoints { | |
| // Section 2.1: Math extended instructions | |
| Acos = 0, | |
| Acosh = 1, | |
| Acospi = 2, | |
| Asin = 3, | |
| Asinh = 4, | |
| Asinpi = 5, | |
| Atan = 6, | |
| Atan2 = 7, | |
| Atanh = 8, | |
| Atanpi = 9, | |
| Atan2pi = 10, | |
| Cbrt = 11, | |
| Ceil = 12, | |
| Copysign = 13, | |
| Cos = 14, | |
| Cosh = 15, | |
| Cospi = 16, | |
| Erfc = 17, | |
| Erf = 18, | |
| Exp = 19, | |
| Exp2 = 20, | |
| Exp10 = 21, | |
| Expm1 = 22, | |
| Fabs = 23, | |
| Fdim = 24, | |
| Floor = 25, | |
| Fma = 26, | |
| Fmax = 27, | |
| Fmin = 28, | |
| Fmod = 29, | |
| Fract = 30, | |
| Frexp = 31, | |
| Hypot = 32, | |
| Ilogb = 33, | |
| Ldexp = 34, | |
| Lgamma = 35, | |
| Lgamma_r = 36, | |
| Log = 37, | |
| Log2 = 38, | |
| Log10 = 39, | |
| Log1p = 40, | |
| Logb = 41, | |
| Mad = 42, | |
| Maxmag = 43, | |
| Minmag = 44, | |
| Modf = 45, | |
| Nan = 46, | |
| Nextafter = 47, | |
| Pow = 48, | |
| Pown = 49, | |
| Powr = 50, | |
| Remainder = 51, | |
| Remquo = 52, | |
| Rint = 53, | |
| Rootn = 54, | |
| Round = 55, | |
| Rsqrt = 56, | |
| Sin = 57, | |
| Sincos = 58, | |
| Sinh = 59, | |
| Sinpi = 60, | |
| Sqrt = 61, | |
| Tan = 62, | |
| Tanh = 63, | |
| Tanpi = 64, | |
| Tgamma = 65, | |
| Trunc = 66, | |
| Half_cos = 67, | |
| Half_divide = 68, | |
| Half_exp = 69, | |
| Half_exp2 = 70, | |
| Half_exp10 = 71, | |
| Half_log = 72, | |
| Half_log2 = 73, | |
| Half_log10 = 74, | |
| Half_powr = 75, | |
| Half_recip = 76, | |
| Half_rsqrt = 77, | |
| Half_sin = 78, | |
| Half_sqrt = 79, | |
| Half_tan = 80, | |
| Native_cos = 81, | |
| Native_divide = 82, | |
| Native_exp = 83, | |
| Native_exp2 = 84, | |
| Native_exp10 = 85, | |
| Native_log = 86, | |
| Native_log2 = 87, | |
| Native_log10 = 88, | |
| Native_powr = 89, | |
| Native_recip = 90, | |
| Native_rsqrt = 91, | |
| Native_sin = 92, | |
| Native_sqrt = 93, | |
| Native_tan = 94, | |
| // Section 2.2: Integer instructions | |
| SAbs = 141, | |
| SAbs_diff = 142, | |
| SAdd_sat = 143, | |
| UAdd_sat = 144, | |
| SHadd = 145, | |
| UHadd = 146, | |
| SRhadd = 147, | |
| URhadd = 148, | |
| SClamp = 149, | |
| UClamp = 150, | |
| Clz = 151, | |
| Ctz = 152, | |
| SMad_hi = 153, | |
| UMad_sat = 154, | |
| SMad_sat = 155, | |
| SMax = 156, | |
| UMax = 157, | |
| SMin = 158, | |
| UMin = 159, | |
| SMul_hi = 160, | |
| Rotate = 161, | |
| SSub_sat = 162, | |
| USub_sat = 163, | |
| U_Upsample = 164, | |
| S_Upsample = 165, | |
| Popcount = 166, | |
| SMad24 = 167, | |
| UMad24 = 168, | |
| SMul24 = 169, | |
| UMul24 = 170, | |
| UAbs = 201, | |
| UAbs_diff = 202, | |
| UMul_hi = 203, | |
| UMad_hi = 204, | |
| // Section 2.3: Common instructions | |
| FClamp = 95, | |
| Degrees = 96, | |
| FMax_common = 97, | |
| FMin_common = 98, | |
| Mix = 99, | |
| Radians = 100, | |
| Step = 101, | |
| Smoothstep = 102, | |
| Sign = 103, | |
| // Section 2.4: Geometric instructions | |
| Cross = 104, | |
| Distance = 105, | |
| Length = 106, | |
| Normalize = 107, | |
| Fast_distance = 108, | |
| Fast_length = 109, | |
| Fast_normalize = 110, | |
| // Section 2.5: Relational instructions | |
| Bitselect = 186, | |
| Select = 187, | |
| // Section 2.6: Vector Data Load and Store instructions | |
| Vloadn = 171, | |
| Vstoren = 172, | |
| Vload_half = 173, | |
| Vload_halfn = 174, | |
| Vstore_half = 175, | |
| Vstore_half_r = 176, | |
| Vstore_halfn = 177, | |
| Vstore_halfn_r = 178, | |
| Vloada_halfn = 179, | |
| Vstorea_halfn = 180, | |
| Vstorea_halfn_r = 181, | |
| // Section 2.7: Miscellaneous Vector instructions | |
| Shuffle = 182, | |
| Shuffle2 = 183, | |
| // Section 2.8: Misc instructions | |
| Printf = 184, | |
| Prefetch = 185, | |
| }; | |
| } // end namespace OpenCLLIB |