/*========================== begin_copyright_notice ============================

Copyright (C) 2017-2021 Intel Corporation

SPDX-License-Identifier: MIT

============================= end_copyright_notice ===========================*/

// math functions
_OCL_EXT_OP(acos, 0)
_OCL_EXT_OP(acosh, 1)
_OCL_EXT_OP(acospi, 2)
_OCL_EXT_OP(asin, 3)
_OCL_EXT_OP(asinh, 4)
_OCL_EXT_OP(asinpi, 5)
_OCL_EXT_OP(atan, 6)
_OCL_EXT_OP(atan2, 7)
_OCL_EXT_OP(atanh, 8)
_OCL_EXT_OP(atanpi, 9)
_OCL_EXT_OP(atan2pi, 10)
_OCL_EXT_OP(cbrt, 11)
_OCL_EXT_OP(ceil, 12)
_OCL_EXT_OP(copysign, 13)
_OCL_EXT_OP(cos, 14)
_OCL_EXT_OP(cosh, 15)
_OCL_EXT_OP(cospi, 16)
_OCL_EXT_OP(erfc, 17)
_OCL_EXT_OP(erf, 18)
_OCL_EXT_OP(exp, 19)
_OCL_EXT_OP(exp2, 20)
_OCL_EXT_OP(exp10, 21)
_OCL_EXT_OP(expm1, 22)
_OCL_EXT_OP(fabs, 23)
_OCL_EXT_OP(fdim, 24)
_OCL_EXT_OP(floor, 25)
_OCL_EXT_OP(fma, 26)
_OCL_EXT_OP(fmax, 27)
_OCL_EXT_OP(fmin, 28)
_OCL_EXT_OP(fmod, 29)
_OCL_EXT_OP(fract, 30)
_OCL_EXT_OP(frexp, 31)
_OCL_EXT_OP(hypot, 32)
_OCL_EXT_OP(ilogb, 33)
_OCL_EXT_OP(ldexp, 34)
_OCL_EXT_OP(lgamma, 35)
_OCL_EXT_OP(lgamma_r, 36)
_OCL_EXT_OP(log, 37)
_OCL_EXT_OP(log2, 38)
_OCL_EXT_OP(log10, 39)
_OCL_EXT_OP(log1p, 40)
_OCL_EXT_OP(logb, 41)
_OCL_EXT_OP(mad, 42)
_OCL_EXT_OP(maxmag, 43)
_OCL_EXT_OP(minmag, 44)
_OCL_EXT_OP(modf, 45)
_OCL_EXT_OP(nan, 46)
_OCL_EXT_OP(nextafter, 47)
_OCL_EXT_OP(pow, 48)
_OCL_EXT_OP(pown, 49)
_OCL_EXT_OP(powr, 50)
_OCL_EXT_OP(remainder, 51)
_OCL_EXT_OP(remquo, 52)
_OCL_EXT_OP(rint, 53)
_OCL_EXT_OP(rootn, 54)
_OCL_EXT_OP(round, 55)
_OCL_EXT_OP(rsqrt, 56)
_OCL_EXT_OP(sin, 57)
_OCL_EXT_OP(sincos, 58)
_OCL_EXT_OP(sinh, 59)
_OCL_EXT_OP(sinpi, 60)
_OCL_EXT_OP(sqrt, 61)
_OCL_EXT_OP(tan, 62)
_OCL_EXT_OP(tanh, 63)
_OCL_EXT_OP(tanpi, 64)
_OCL_EXT_OP(tgamma, 65)
_OCL_EXT_OP(trunc, 66)
_OCL_EXT_OP(half_cos, 67)
_OCL_EXT_OP(half_divide, 68)
_OCL_EXT_OP(half_exp, 69)
_OCL_EXT_OP(half_exp2, 70)
_OCL_EXT_OP(half_exp10, 71)
_OCL_EXT_OP(half_log, 72)
_OCL_EXT_OP(half_log2, 73)
_OCL_EXT_OP(half_log10, 74)
_OCL_EXT_OP(half_powr, 75)
_OCL_EXT_OP(half_recip, 76)
_OCL_EXT_OP(half_rsqrt, 77)
_OCL_EXT_OP(half_sin, 78)
_OCL_EXT_OP(half_sqrt, 79)
_OCL_EXT_OP(half_tan, 80)
_OCL_EXT_OP(native_cos, 81)
_OCL_EXT_OP(native_divide, 82)
_OCL_EXT_OP(native_exp, 83)
_OCL_EXT_OP(native_exp2, 84)
_OCL_EXT_OP(native_exp10, 85)
_OCL_EXT_OP(native_log, 86)
_OCL_EXT_OP(native_log2, 87)
_OCL_EXT_OP(native_log10, 88)
_OCL_EXT_OP(native_powr, 89)
_OCL_EXT_OP(native_recip, 90)
_OCL_EXT_OP(native_rsqrt, 91)
_OCL_EXT_OP(native_sin, 92)
_OCL_EXT_OP(native_sqrt, 93)
_OCL_EXT_OP(native_tan, 94)
// Common
_OCL_EXT_OP(fclamp, 95)
_OCL_EXT_OP(degrees, 96)
_OCL_EXT_OP(mix, 99)
_OCL_EXT_OP(fmax_common, 97)
_OCL_EXT_OP(fmin_common, 98)
_OCL_EXT_OP(radians, 100)
_OCL_EXT_OP(step, 101)
_OCL_EXT_OP(smoothstep, 102)
_OCL_EXT_OP(sign, 103)
// Geometrics
_OCL_EXT_OP(cross, 104)
_OCL_EXT_OP(distance, 105)
_OCL_EXT_OP(length, 106)
_OCL_EXT_OP(normalize, 107)
_OCL_EXT_OP(fast_distance, 108)
_OCL_EXT_OP(fast_length, 109)
_OCL_EXT_OP(fast_normalize, 110)
// Integers
_OCL_EXT_OP(s_abs, 141)
_OCL_EXT_OP(s_abs_diff, 142)
_OCL_EXT_OP(s_add_sat, 143)
_OCL_EXT_OP(u_add_sat, 144)
_OCL_EXT_OP(s_hadd, 145)
_OCL_EXT_OP(u_hadd, 146)
_OCL_EXT_OP(s_rhadd, 147)
_OCL_EXT_OP(u_rhadd, 148)
_OCL_EXT_OP(s_clamp, 149)
_OCL_EXT_OP(u_clamp, 150)
_OCL_EXT_OP(clz, 151)
_OCL_EXT_OP(ctz, 152)
_OCL_EXT_OP(s_mad_hi, 153)
_OCL_EXT_OP(s_mad_sat, 155)
_OCL_EXT_OP(u_mad_sat, 154)
_OCL_EXT_OP(s_max, 156)
_OCL_EXT_OP(s_min, 158)
_OCL_EXT_OP(u_max, 157)
_OCL_EXT_OP(u_min, 159)
_OCL_EXT_OP(s_mul_hi, 160)
_OCL_EXT_OP(rotate, 161)
_OCL_EXT_OP(s_sub_sat, 162)
_OCL_EXT_OP(u_sub_sat, 163)
_OCL_EXT_OP(u_upsample, 164)
_OCL_EXT_OP(s_upsample, 165)
_OCL_EXT_OP(popcount, 166)
_OCL_EXT_OP(s_mad24, 167)
_OCL_EXT_OP(u_mad24, 168)
_OCL_EXT_OP(s_mul24, 169)
_OCL_EXT_OP(u_mul24, 170)
// Vector Loads/Stores
_OCL_EXT_OP(vloadn, 171)
_OCL_EXT_OP(vstoren, 172)
_OCL_EXT_OP(vload_half, 173)
_OCL_EXT_OP(vload_halfn, 174)
_OCL_EXT_OP(vstore_half, 175)
_OCL_EXT_OP(vstore_half_r, 176)
_OCL_EXT_OP(vstore_halfn, 177)
_OCL_EXT_OP(vstore_halfn_r, 178)
_OCL_EXT_OP(vloada_halfn, 179)
_OCL_EXT_OP(vstorea_halfn, 180)
_OCL_EXT_OP(vstorea_halfn_r, 181)
// Vector Misc
_OCL_EXT_OP(shuffle, 182)
_OCL_EXT_OP(shuffle2, 183)
_OCL_EXT_OP(printf, 184)
_OCL_EXT_OP(prefetch, 185)
// Relationals
_OCL_EXT_OP(bitselect, 186)
_OCL_EXT_OP(select, 187)
// more integers
_OCL_EXT_OP(u_abs, 201)
_OCL_EXT_OP(u_abs_diff, 202)
_OCL_EXT_OP(u_mul_hi, 203)
_OCL_EXT_OP(u_mad_hi, 204)
