mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-26 21:30:07 +00:00
d02f68ae79
Updated readme. Note: The header advertises itself as Rev 1, but contains many (all?) the updates intended for Rev 2. We might need to update one more time before SPIR-V 1.0 Rev2 is published. Regenerated syntax tables for 1.0. Changed names: InputTriangles -> Triangles InputQuads -> Quads InputIsolines -> Isolines WorkgroupLocal -> Workgroup WorkgroupGlobal -> CrossWorkgroup PrivateGlobal -> Private (Dim) InputTarget -> SubpassData WorkgroupLocalMemoryMask -> WorkgroupMemoryMask WorkgroupGlobalMemoryMask -> CrossWorkgroupMemoryMask AsyncGroupCopy -> GroupAsyncCopy WaitGroupEvents -> GroupWaitEvents Remove: IndependentForwardProgress capability Smooth decoration FragColor BuiltIn WorkgroupLinearId in favour of LocalInvocationId ImageSRGBWrite capability Special OpenCL image instructions Add: image channel data type UnormInt101010_2 AcquireReleaseMask InputTargetIndex updates: InputTargetIndex -> InputAttachmentIndex InputAttachmentIndex depends on InputAttachment capability, and it takes a literal number argument. Capability StorageImageExtendedFormats updates: Enum value changed from 26 to 49. (Changes position in tables). Replaces AdvancedImageFormat capability. OpenCL source language -> OpenCL_C, OpenCL_CPP
170 lines
7.6 KiB
SQL
170 lines
7.6 KiB
SQL
|
|
// OpenCL extended instructions table, one instruction per line.
|
|
// All instructions have a result type and a result ID.
|
|
// Fields in this file are:
|
|
// - name
|
|
// - extended instruction index
|
|
// - EmptyList, or List of operand classes.
|
|
ExtInst(acos, 0, List(OperandId))
|
|
ExtInst(acosh, 1, List(OperandId))
|
|
ExtInst(acospi, 2, List(OperandId))
|
|
ExtInst(asin, 3, List(OperandId))
|
|
ExtInst(asinh, 4, List(OperandId))
|
|
ExtInst(asinpi, 5, List(OperandId))
|
|
ExtInst(atan, 6, List(OperandId))
|
|
ExtInst(atan2, 7, List(OperandId, OperandId))
|
|
ExtInst(atanh, 8, List(OperandId))
|
|
ExtInst(atanpi, 9, List(OperandId))
|
|
ExtInst(atan2pi, 10, List(OperandId, OperandId))
|
|
ExtInst(cbrt, 11, List(OperandId))
|
|
ExtInst(ceil, 12, List(OperandId))
|
|
ExtInst(copysign, 13, List(OperandId, OperandId))
|
|
ExtInst(cos, 14, List(OperandId))
|
|
ExtInst(cosh, 15, List(OperandId))
|
|
ExtInst(cospi, 16, List(OperandId))
|
|
ExtInst(erfc, 17, List(OperandId))
|
|
ExtInst(erf, 18, List(OperandId))
|
|
ExtInst(exp, 19, List(OperandId))
|
|
ExtInst(exp2, 20, List(OperandId))
|
|
ExtInst(exp10, 21, List(OperandId))
|
|
ExtInst(expm1, 22, List(OperandId))
|
|
ExtInst(fabs, 23, List(OperandId))
|
|
ExtInst(fdim, 24, List(OperandId, OperandId))
|
|
ExtInst(floor, 25, List(OperandId))
|
|
ExtInst(fma, 26, List(OperandId, OperandId, OperandId))
|
|
ExtInst(fmax, 27, List(OperandId, OperandId))
|
|
ExtInst(fmin, 28, List(OperandId, OperandId))
|
|
ExtInst(fmod, 29, List(OperandId, OperandId))
|
|
ExtInst(fract, 30, List(OperandId, OperandId))
|
|
ExtInst(frexp, 31, List(OperandId, OperandId))
|
|
ExtInst(hypot, 32, List(OperandId, OperandId))
|
|
ExtInst(ilogb, 33, List(OperandId))
|
|
ExtInst(ldexp, 34, List(OperandId, OperandId))
|
|
ExtInst(lgamma, 35, List(OperandId))
|
|
ExtInst(lgamma_r, 36, List(OperandId, OperandId))
|
|
ExtInst(log, 37, List(OperandId))
|
|
ExtInst(log2, 38, List(OperandId))
|
|
ExtInst(log10, 39, List(OperandId))
|
|
ExtInst(log1p, 40, List(OperandId))
|
|
ExtInst(logb, 41, List(OperandId))
|
|
ExtInst(mad, 42, List(OperandId, OperandId, OperandId))
|
|
ExtInst(maxmag, 43, List(OperandId, OperandId))
|
|
ExtInst(minmag, 44, List(OperandId, OperandId))
|
|
ExtInst(modf, 45, List(OperandId, OperandId))
|
|
ExtInst(nan, 46, List(OperandId))
|
|
ExtInst(nextafter, 47, List(OperandId, OperandId))
|
|
ExtInst(pow, 48, List(OperandId, OperandId, OperandId))
|
|
ExtInst(pown, 49, List(OperandId))
|
|
ExtInst(powr, 50, List(OperandId, OperandId))
|
|
ExtInst(remainder, 51, List(OperandId, OperandId))
|
|
ExtInst(remquo, 52, List(OperandId, OperandId, OperandId))
|
|
ExtInst(rint, 53, List(OperandId))
|
|
ExtInst(rootn, 54, List(OperandId, OperandId))
|
|
ExtInst(round, 55, List(OperandId))
|
|
ExtInst(rsqrt, 56, List(OperandId))
|
|
ExtInst(sin, 57, List(OperandId))
|
|
ExtInst(sincos, 58, List(OperandId, OperandId))
|
|
ExtInst(sinh, 59, List(OperandId))
|
|
ExtInst(sinpi, 60, List(OperandId))
|
|
ExtInst(sqrt, 61, List(OperandId))
|
|
ExtInst(tan, 62, List(OperandId))
|
|
ExtInst(tanh, 63, List(OperandId))
|
|
ExtInst(tanpi, 64, List(OperandId))
|
|
ExtInst(tgamma, 65, List(OperandId))
|
|
ExtInst(trunc, 66, List(OperandId))
|
|
ExtInst(half_cos, 67, List(OperandId))
|
|
ExtInst(half_divide, 68, List(OperandId, OperandId))
|
|
ExtInst(half_exp, 69, List(OperandId))
|
|
ExtInst(half_exp2, 70, List(OperandId))
|
|
ExtInst(half_exp10, 71, List(OperandId))
|
|
ExtInst(half_log, 72, List(OperandId))
|
|
ExtInst(half_log2, 73, List(OperandId))
|
|
ExtInst(half_log10, 74, List(OperandId))
|
|
ExtInst(half_powr, 75, List(OperandId, OperandId))
|
|
ExtInst(half_recip, 76, List(OperandId))
|
|
ExtInst(half_rsqrt, 77, List(OperandId))
|
|
ExtInst(half_sin, 78, List(OperandId))
|
|
ExtInst(half_sqrt, 79, List(OperandId))
|
|
ExtInst(half_tan, 80, List(OperandId))
|
|
ExtInst(native_cos, 81, List(OperandId))
|
|
ExtInst(native_divide, 82, List(OperandId, OperandId))
|
|
ExtInst(native_exp, 83, List(OperandId))
|
|
ExtInst(native_exp2, 84, List(OperandId))
|
|
ExtInst(native_exp10, 85, List(OperandId))
|
|
ExtInst(native_log, 86, List(OperandId))
|
|
ExtInst(native_log2, 87, List(OperandId))
|
|
ExtInst(native_log10, 88, List(OperandId))
|
|
ExtInst(native_powr, 89, List(OperandId, OperandId))
|
|
ExtInst(native_recip, 90, List(OperandId))
|
|
ExtInst(native_rsqrt, 91, List(OperandId))
|
|
ExtInst(native_sin, 92, List(OperandId))
|
|
ExtInst(native_sqrt, 93, List(OperandId))
|
|
ExtInst(native_tan, 94, List(OperandId))
|
|
ExtInst(fclamp, 95, List(OperandId, OperandId, OperandId))
|
|
ExtInst(degrees, 96, List(OperandId))
|
|
ExtInst(fmax_common, 97, List(OperandId, OperandId))
|
|
ExtInst(fmin_common, 98, List(OperandId, OperandId))
|
|
ExtInst(mix, 99, List(OperandId, OperandId, OperandId))
|
|
ExtInst(radians, 100, List(OperandId))
|
|
ExtInst(step, 101, List(OperandId, OperandId))
|
|
ExtInst(smoothstep, 102, List(OperandId, OperandId, OperandId))
|
|
ExtInst(sign, 103, List(OperandId))
|
|
ExtInst(cross, 104, List(OperandId, OperandId))
|
|
ExtInst(distance, 105, List(OperandId, OperandId))
|
|
ExtInst(length, 106, List(OperandId))
|
|
ExtInst(normalize, 107, List(OperandId))
|
|
ExtInst(fast_distance, 108, List(OperandId, OperandId))
|
|
ExtInst(fast_length, 109, List(OperandId))
|
|
ExtInst(fast_normalize, 110, List(OperandId))
|
|
ExtInst(s_abs, 141, List(OperandId))
|
|
ExtInst(s_abs_diff, 142, List(OperandId, OperandId))
|
|
ExtInst(s_add_sat, 143, List(OperandId, OperandId))
|
|
ExtInst(u_add_sat, 144, List(OperandId, OperandId))
|
|
ExtInst(s_hadd, 145, List(OperandId, OperandId))
|
|
ExtInst(u_hadd, 146, List(OperandId, OperandId))
|
|
ExtInst(s_rhadd, 147, List(OperandId, OperandId))
|
|
ExtInst(u_rhadd, 148, List(OperandId, OperandId))
|
|
ExtInst(s_clamp, 149, List(OperandId, OperandId, OperandId))
|
|
ExtInst(u_clamp, 150, List(OperandId, OperandId, OperandId))
|
|
ExtInst(clz, 151, List(OperandId))
|
|
ExtInst(ctz, 152, List(OperandId))
|
|
ExtInst(s_mad_hi, 153, List(OperandId, OperandId, OperandId))
|
|
ExtInst(u_mad_sat, 154, List(OperandId, OperandId, OperandId))
|
|
ExtInst(s_mad_sat, 155, List(OperandId, OperandId, OperandId))
|
|
ExtInst(s_max, 156, List(OperandId, OperandId))
|
|
ExtInst(u_max, 157, List(OperandId, OperandId))
|
|
ExtInst(s_min, 158, List(OperandId, OperandId))
|
|
ExtInst(u_min, 159, List(OperandId, OperandId))
|
|
ExtInst(s_mul_hi, 160, List(OperandId, OperandId))
|
|
ExtInst(rotate, 161, List(OperandId, OperandId))
|
|
ExtInst(s_sub_sat, 162, List(OperandId, OperandId))
|
|
ExtInst(u_sub_sat, 163, List(OperandId, OperandId))
|
|
ExtInst(u_upsample, 164, List(OperandId, OperandId))
|
|
ExtInst(s_upsample, 165, List(OperandId, OperandId))
|
|
ExtInst(popcount, 166, List(OperandId))
|
|
ExtInst(s_mad24, 167, List(OperandId, OperandId, OperandId))
|
|
ExtInst(u_mad24, 168, List(OperandId, OperandId, OperandId))
|
|
ExtInst(s_mul24, 169, List(OperandId, OperandId))
|
|
ExtInst(u_mul24, 170, List(OperandId, OperandId))
|
|
ExtInst(vloadn, 171, List(OperandId, OperandId, OperandLiteralNumber))
|
|
ExtInst(vstoren, 172, List(OperandId, OperandId, OperandId))
|
|
ExtInst(vload_half, 173, List(OperandId, OperandId))
|
|
ExtInst(vload_halfn, 174, List(OperandId, OperandId, OperandLiteralNumber))
|
|
ExtInst(vstore_half, 175, List(OperandId, OperandId, OperandId))
|
|
ExtInst(vstore_half_r, 176, List(OperandId, OperandId, OperandId, OperandFPRoundingMode))
|
|
ExtInst(vstore_halfn, 177, List(OperandId, OperandId, OperandId))
|
|
ExtInst(vstore_halfn_r, 178, List(OperandId, OperandId, OperandId, OperandFPRoundingMode))
|
|
ExtInst(vloada_halfn, 179, List(OperandId, OperandId, OperandLiteralNumber))
|
|
ExtInst(vstorea_halfn, 180, List(OperandId, OperandId, OperandId))
|
|
ExtInst(vstorea_halfn_r, 181, List(OperandId, OperandId, OperandId, OperandFPRoundingMode))
|
|
ExtInst(shuffle, 182, List(OperandId, OperandId))
|
|
ExtInst(shuffle2, 183, List(OperandId, OperandId, OperandId))
|
|
ExtInst(printf, 184, List(OperandId, OperandVariableIds))
|
|
ExtInst(prefetch, 185, List(OperandId, OperandId))
|
|
ExtInst(bitselect, 186, List(OperandId, OperandId, OperandId))
|
|
ExtInst(select, 187, List(OperandId, OperandId, OperandId))
|
|
ExtInst(u_abs, 201, List(OperandId))
|
|
ExtInst(u_abs_diff, 202, List(OperandId, OperandId))
|
|
ExtInst(u_mul_hi, 203, List(OperandId, OperandId))
|
|
ExtInst(u_mad_hi, 204, List(OperandId, OperandId, OperandId))
|