_SPIRV_OP(Nop, 0)
_SPIRV_OP(Undef, 1)
_SPIRV_OP(SourceContinued, 2)
_SPIRV_OP(Source, 3)
_SPIRV_OP(SourceExtension, 4)
_SPIRV_OP(Name, 5)
_SPIRV_OP(MemberName, 6)
_SPIRV_OP(String, 7)
_SPIRV_OP(Line, 8)
_SPIRV_OP(Extension, 10)
_SPIRV_OP(ExtInstImport, 11)
_SPIRV_OP(ExtInst, 12)
_SPIRV_OP(MemoryModel, 14)
_SPIRV_OP(EntryPoint, 15)
_SPIRV_OP(ExecutionMode, 16)
_SPIRV_OP(Capability, 17)
_SPIRV_OP(TypeVoid, 19)
_SPIRV_OP(TypeBool, 20)
_SPIRV_OP(TypeInt, 21)
_SPIRV_OP(TypeFloat, 22)
_SPIRV_OP(TypeVector, 23)
_SPIRV_OP(TypeMatrix, 24)
_SPIRV_OP(TypeImage, 25)
_SPIRV_OP(TypeSampler, 26)
_SPIRV_OP(TypeSampledImage, 27)
_SPIRV_OP(TypeArray, 28)
_SPIRV_OP(TypeRuntimeArray, 29)
_SPIRV_OP(TypeStruct, 30)
_SPIRV_OP(TypeOpaque, 31)
_SPIRV_OP(TypePointer, 32)
_SPIRV_OP(TypeFunction, 33)
_SPIRV_OP(TypeEvent, 34)
_SPIRV_OP(TypeDeviceEvent, 35)
_SPIRV_OP(TypeReserveId, 36)
_SPIRV_OP(TypeQueue, 37)
_SPIRV_OP(TypePipe, 38)
_SPIRV_OP(TypeForwardPointer, 39)
_SPIRV_OP(ConstantTrue, 41)
_SPIRV_OP(ConstantFalse, 42)
_SPIRV_OP(Constant, 43)
_SPIRV_OP(ConstantComposite, 44)
_SPIRV_OP(ConstantSampler, 45)
_SPIRV_OP(ConstantNull, 46)
_SPIRV_OP(SpecConstantTrue, 48)
_SPIRV_OP(SpecConstantFalse, 49)
_SPIRV_OP(SpecConstant, 50)
_SPIRV_OP(SpecConstantComposite, 51)
_SPIRV_OP(SpecConstantOp, 52)
_SPIRV_OP(Function, 54)
_SPIRV_OP(FunctionParameter, 55)
_SPIRV_OP(FunctionEnd, 56)
_SPIRV_OP(FunctionCall, 57)
_SPIRV_OP(Variable, 59)
_SPIRV_OP(ImageTexelPointer, 60)
_SPIRV_OP(Load, 61)
_SPIRV_OP(Store, 62)
_SPIRV_OP(CopyMemory, 63)
_SPIRV_OP(CopyMemorySized, 64)
_SPIRV_OP(AccessChain, 65)
_SPIRV_OP(InBoundsAccessChain, 66)
_SPIRV_OP(PtrAccessChain, 67)
_SPIRV_OP(ArrayLength, 68)
_SPIRV_OP(GenericPtrMemSemantics, 69)
_SPIRV_OP(InBoundsPtrAccessChain, 70)
_SPIRV_OP(Decorate, 71)
_SPIRV_OP(MemberDecorate, 72)
_SPIRV_OP(DecorationGroup, 73)
_SPIRV_OP(GroupDecorate, 74)
_SPIRV_OP(GroupMemberDecorate, 75)
_SPIRV_OP(VectorExtractDynamic, 77)
_SPIRV_OP(VectorInsertDynamic, 78)
_SPIRV_OP(VectorShuffle, 79)
_SPIRV_OP(CompositeConstruct, 80)
_SPIRV_OP(CompositeExtract, 81)
_SPIRV_OP(CompositeInsert, 82)
_SPIRV_OP(CopyObject, 83)
_SPIRV_OP(Transpose, 84)
_SPIRV_OP(SampledImage, 86)
_SPIRV_OP(ImageSampleImplicitLod, 87)
_SPIRV_OP(ImageSampleExplicitLod, 88)
_SPIRV_OP(ImageSampleDrefImplicitLod, 89)
_SPIRV_OP(ImageSampleDrefExplicitLod, 90)
_SPIRV_OP(ImageSampleProjImplicitLod, 91)
_SPIRV_OP(ImageSampleProjExplicitLod, 92)
_SPIRV_OP(ImageSampleProjDrefImplicitLod, 93)
_SPIRV_OP(ImageSampleProjDrefExplicitLod, 94)
_SPIRV_OP(ImageFetch, 95)
_SPIRV_OP(ImageGather, 96)
_SPIRV_OP(ImageDrefGather, 97)
_SPIRV_OP(ImageRead, 98)
_SPIRV_OP(ImageWrite, 99)
_SPIRV_OP(Image, 100)
_SPIRV_OP(ImageQueryFormat, 101)
_SPIRV_OP(ImageQueryOrder, 102)
_SPIRV_OP(ImageQuerySizeLod, 103)
_SPIRV_OP(ImageQuerySize, 104)
_SPIRV_OP(ImageQueryLod, 105)
_SPIRV_OP(ImageQueryLevels, 106)
_SPIRV_OP(ImageQuerySamples, 107)
_SPIRV_OP(ConvertFToU, 109)
_SPIRV_OP(ConvertFToS, 110)
_SPIRV_OP(ConvertSToF, 111)
_SPIRV_OP(ConvertUToF, 112)
_SPIRV_OP(UConvert, 113)
_SPIRV_OP(SConvert, 114)
_SPIRV_OP(FConvert, 115)
_SPIRV_OP(QuantizeToF16, 116)
_SPIRV_OP(ConvertPtrToU, 117)
_SPIRV_OP(SatConvertSToU, 118)
_SPIRV_OP(SatConvertUToS, 119)
_SPIRV_OP(ConvertUToPtr, 120)
_SPIRV_OP(PtrCastToGeneric, 121)
_SPIRV_OP(GenericCastToPtr, 122)
_SPIRV_OP(GenericCastToPtrExplicit, 123)
_SPIRV_OP(Bitcast, 124)
_SPIRV_OP(SNegate, 126)
_SPIRV_OP(FNegate, 127)
_SPIRV_OP(IAdd, 128)
_SPIRV_OP(FAdd, 129)
_SPIRV_OP(ISub, 130)
_SPIRV_OP(FSub, 131)
_SPIRV_OP(IMul, 132)
_SPIRV_OP(FMul, 133)
_SPIRV_OP(UDiv, 134)
_SPIRV_OP(SDiv, 135)
_SPIRV_OP(FDiv, 136)
_SPIRV_OP(UMod, 137)
_SPIRV_OP(SRem, 138)
_SPIRV_OP(SMod, 139)
_SPIRV_OP(FRem, 140)
_SPIRV_OP(FMod, 141)
_SPIRV_OP(VectorTimesScalar, 142)
_SPIRV_OP(MatrixTimesScalar, 143)
_SPIRV_OP(VectorTimesMatrix, 144)
_SPIRV_OP(MatrixTimesVector, 145)
_SPIRV_OP(MatrixTimesMatrix, 146)
_SPIRV_OP(OuterProduct, 147)
_SPIRV_OP(Dot, 148)
_SPIRV_OP(IAddCarry, 149)
_SPIRV_OP(ISubBorrow, 150)
_SPIRV_OP(UMulExtended, 151)
_SPIRV_OP(SMulExtended, 152)
_SPIRV_OP(Any, 154)
_SPIRV_OP(All, 155)
_SPIRV_OP(IsNan, 156)
_SPIRV_OP(IsInf, 157)
_SPIRV_OP(IsFinite, 158)
_SPIRV_OP(IsNormal, 159)
_SPIRV_OP(SignBitSet, 160)
_SPIRV_OP(LessOrGreater, 161)
_SPIRV_OP(Ordered, 162)
_SPIRV_OP(Unordered, 163)
_SPIRV_OP(LogicalEqual, 164)
_SPIRV_OP(LogicalNotEqual, 165)
_SPIRV_OP(LogicalOr, 166)
_SPIRV_OP(LogicalAnd, 167)
_SPIRV_OP(LogicalNot, 168)
_SPIRV_OP(Select, 169)
_SPIRV_OP(IEqual, 170)
_SPIRV_OP(INotEqual, 171)
_SPIRV_OP(UGreaterThan, 172)
_SPIRV_OP(SGreaterThan, 173)
_SPIRV_OP(UGreaterThanEqual, 174)
_SPIRV_OP(SGreaterThanEqual, 175)
_SPIRV_OP(ULessThan, 176)
_SPIRV_OP(SLessThan, 177)
_SPIRV_OP(ULessThanEqual, 178)
_SPIRV_OP(SLessThanEqual, 179)
_SPIRV_OP(FOrdEqual, 180)
_SPIRV_OP(FUnordEqual, 181)
_SPIRV_OP(FOrdNotEqual, 182)
_SPIRV_OP(FUnordNotEqual, 183)
_SPIRV_OP(FOrdLessThan, 184)
_SPIRV_OP(FUnordLessThan, 185)
_SPIRV_OP(FOrdGreaterThan, 186)
_SPIRV_OP(FUnordGreaterThan, 187)
_SPIRV_OP(FOrdLessThanEqual, 188)
_SPIRV_OP(FUnordLessThanEqual, 189)
_SPIRV_OP(FOrdGreaterThanEqual, 190)
_SPIRV_OP(FUnordGreaterThanEqual, 191)
_SPIRV_OP(ShiftRightLogical, 194)
_SPIRV_OP(ShiftRightArithmetic, 195)
_SPIRV_OP(ShiftLeftLogical, 196)
_SPIRV_OP(BitwiseOr, 197)
_SPIRV_OP(BitwiseXor, 198)
_SPIRV_OP(BitwiseAnd, 199)
_SPIRV_OP(Not, 200)
_SPIRV_OP(BitFieldInsert, 201)
_SPIRV_OP(BitFieldSExtract, 202)
_SPIRV_OP(BitFieldUExtract, 203)
_SPIRV_OP(BitReverse, 204)
_SPIRV_OP(BitCount, 205)
_SPIRV_OP(DPdx, 207)
_SPIRV_OP(DPdy, 208)
_SPIRV_OP(Fwidth, 209)
_SPIRV_OP(DPdxFine, 210)
_SPIRV_OP(DPdyFine, 211)
_SPIRV_OP(FwidthFine, 212)
_SPIRV_OP(DPdxCoarse, 213)
_SPIRV_OP(DPdyCoarse, 214)
_SPIRV_OP(FwidthCoarse, 215)
_SPIRV_OP(EmitVertex, 218)
_SPIRV_OP(EndPrimitive, 219)
_SPIRV_OP(EmitStreamVertex, 220)
_SPIRV_OP(EndStreamPrimitive, 221)
_SPIRV_OP(ControlBarrier, 224)
_SPIRV_OP(MemoryBarrier, 225)
_SPIRV_OP(AtomicLoad, 227)
_SPIRV_OP(AtomicStore, 228)
_SPIRV_OP(AtomicExchange, 229)
_SPIRV_OP(AtomicCompareExchange, 230)
_SPIRV_OP(AtomicCompareExchangeWeak, 231)
_SPIRV_OP(AtomicIIncrement, 232)
_SPIRV_OP(AtomicIDecrement, 233)
_SPIRV_OP(AtomicIAdd, 234)
_SPIRV_OP(AtomicISub, 235)
_SPIRV_OP(AtomicSMin, 236)
_SPIRV_OP(AtomicUMin, 237)
_SPIRV_OP(AtomicSMax, 238)
_SPIRV_OP(AtomicUMax, 239)
_SPIRV_OP(AtomicAnd, 240)
_SPIRV_OP(AtomicOr, 241)
_SPIRV_OP(AtomicXor, 242)
_SPIRV_OP(Phi, 245)
_SPIRV_OP(LoopMerge, 246)
_SPIRV_OP(SelectionMerge, 247)
_SPIRV_OP(Label, 248)
_SPIRV_OP(Branch, 249)
_SPIRV_OP(BranchConditional, 250)
_SPIRV_OP(Switch, 251)
_SPIRV_OP(Kill, 252)
_SPIRV_OP(Return, 253)
_SPIRV_OP(ReturnValue, 254)
_SPIRV_OP(Unreachable, 255)
_SPIRV_OP(LifetimeStart, 256)
_SPIRV_OP(LifetimeStop, 257)
_SPIRV_OP(GroupAsyncCopy, 259)
_SPIRV_OP(GroupWaitEvents, 260)
_SPIRV_OP(GroupAll, 261)
_SPIRV_OP(GroupAny, 262)
_SPIRV_OP(GroupBroadcast, 263)
_SPIRV_OP(GroupIAdd, 264)
_SPIRV_OP(GroupFAdd, 265)
_SPIRV_OP(GroupFMin, 266)
_SPIRV_OP(GroupUMin, 267)
_SPIRV_OP(GroupSMin, 268)
_SPIRV_OP(GroupFMax, 269)
_SPIRV_OP(GroupUMax, 270)
_SPIRV_OP(GroupSMax, 271)
_SPIRV_OP(ReadPipe, 274)
_SPIRV_OP(WritePipe, 275)
_SPIRV_OP(ReservedReadPipe, 276)
_SPIRV_OP(ReservedWritePipe, 277)
_SPIRV_OP(ReserveReadPipePackets, 278)
_SPIRV_OP(ReserveWritePipePackets, 279)
_SPIRV_OP(CommitReadPipe, 280)
_SPIRV_OP(CommitWritePipe, 281)
_SPIRV_OP(IsValidReserveId, 282)
_SPIRV_OP(GetNumPipePackets, 283)
_SPIRV_OP(GetMaxPipePackets, 284)
_SPIRV_OP(GroupReserveReadPipePackets, 285)
_SPIRV_OP(GroupReserveWritePipePackets, 286)
_SPIRV_OP(GroupCommitReadPipe, 287)
_SPIRV_OP(GroupCommitWritePipe, 288)
_SPIRV_OP(EnqueueMarker, 291)
_SPIRV_OP(EnqueueKernel, 292)
_SPIRV_OP(GetKernelNDrangeSubGroupCount, 293)
_SPIRV_OP(GetKernelNDrangeMaxSubGroupSize, 294)
_SPIRV_OP(GetKernelWorkGroupSize, 295)
_SPIRV_OP(GetKernelPreferredWorkGroupSizeMultiple, 296)
_SPIRV_OP(RetainEvent, 297)
_SPIRV_OP(ReleaseEvent, 298)
_SPIRV_OP(CreateUserEvent, 299)
_SPIRV_OP(IsValidEvent, 300)
_SPIRV_OP(SetUserEventStatus, 301)
_SPIRV_OP(CaptureEventProfilingInfo, 302)
_SPIRV_OP(GetDefaultQueue, 303)
_SPIRV_OP(BuildNDRange, 304)
_SPIRV_OP(ImageSparseSampleImplicitLod, 305)
_SPIRV_OP(ImageSparseSampleExplicitLod, 306)
_SPIRV_OP(ImageSparseSampleDrefImplicitLod, 307)
_SPIRV_OP(ImageSparseSampleDrefExplicitLod, 308)
_SPIRV_OP(ImageSparseSampleProjImplicitLod, 309)
_SPIRV_OP(ImageSparseSampleProjExplicitLod, 310)
_SPIRV_OP(ImageSparseSampleProjDrefImplicitLod, 311)
_SPIRV_OP(ImageSparseSampleProjDrefExplicitLod, 312)
_SPIRV_OP(ImageSparseFetch, 313)
_SPIRV_OP(ImageSparseGather, 314)
_SPIRV_OP(ImageSparseDrefGather, 315)
_SPIRV_OP(ImageSparseTexelsResident, 316)
_SPIRV_OP(NoLine, 317)
_SPIRV_OP(AtomicFlagTestAndSet, 318)
_SPIRV_OP(AtomicFlagClear, 319)
_SPIRV_OP(TypePipeStorage, 322)
_SPIRV_OP(ConstantPipeStorage, 323)
_SPIRV_OP(CreatePipeFromPipeStorage, 324)
_SPIRV_OP(Forward, 1024)