--- /dev/null
+Operand type,Example instruction,Notes,example unit test\r
+,,,\r
+,,,\r
+" OperandNone,",UNUSED,not in grammar,\r
+" OperandId,",many,ID,too many to count\r
+" OperandOptionalId,","Source, Variable",OPTIONAL_ID,OpSourceAcceptsOptionalFileId\r
+" OperandOptionalImage,",ImageFetch,,ImageOperandsTest\r
+" OperandVariableIds,",ExtInst,,\r
+" OperandOptionalLiteral,",ExecutionMode,,AnyExecutionMode\r
+" OperandOptionalLiteralString,",Source,,OpSourceAcceptsOptionalSourceText\r
+" OperandVariableLiterals,",Decorate,,OpDecorateSimpleTest\r
+" OperandVariableIdLiteral,",GroupMemberDecorate,,GroupMemberDecorate*\r
+" OperandVariableLiteralId, // zero or more pairs of (Literal, Id)",Switch,,Switch*\r
+" OperandLiteralNumber,","Source, Switch, ...",,Switch*\r
+" OperandLiteralString,",SourceContinued,,OpSourceContinued\r
+" OperandSource,",Source,,OpSource\r
+" OperandExecutionModel,",EntryPoint,,OpEntryPointTest\r
+" OperandAddressing,",OpMemoryModel,,OpMemoryModelTest\r
+" OperandMemory,",OpMemoryModel,,OpMemoryModelTest\r
+" OperandExecutionMode,",OpExecutionMode,,OpExecutionModeTest\r
+" OperandStorage,","TypePointer, TypeForwardPointer, Variable",,StorageClassTest\r
+" OperandDimensionality,",TypeImage,,DimTest/AnyDim\r
+" OperandSamplerAddressingMode,",ConstantSampler,,SamplerAddressingModeTest\r
+" OperandSamplerFilterMode,",ConstantSampler,,AnySamplerFilterMode\r
+" OperandSamplerImageFormat,",TypeImage,SAMPLER_IMAGE_FORMAT,ImageFormatTest\r
+" OperandImageChannelOrder,",UNUSED,returned as result value only,\r
+" OperandImageChannelDataType,",UNUSED,returned as result value only,\r
+" OperandImageOperands,",UNUSED,used to make a spec section,\r
+" OperandFPFastMath,",OpDecorate,,CombinedFPFastMathMask\r
+" OperandFPRoundingMode,",OpDecorate,,OpDecorateEnumTest\r
+" OperandLinkageType,",OpDecorate,,OpDecorateLinkageTest\r
+" OperandAccessQualifier,",OpTypePipe,,AnyAccessQualifier\r
+" OperandFuncParamAttr,",OpDecorate,,TextToBinaryDecorateFuncParamAttr\r
+" OperandDecoration,",OpDecorate,,AnyAccessQualifier\r
+" OperandBuiltIn,",OpDecorate,,TextToBinaryDecorateBultIn\r
+" OperandSelect,",SelectionMerge,,TextToBinarySelectionMerge\r
+" OperandLoop,",LoopMerge,,CombinedLoopControlMask\r
+" OperandFunction,",Function,,AnySingleFunctionControlMask\r
+" OperandMemorySemantics,",OpMemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*\r
+" OperandMemoryAccess,",UNUSED,"should be on opstore, but hacked in opcode.cpp",\r
+" OperandScope,",MemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*\r
+" OperandGroupOperation,",GroupIAdd,,GroupOperationTest\r
+" OperandKernelEnqueueFlags,",OpEnqueueKernel,"it's an ID, not in grammar",should not have one\r
+" OperandKernelProfilingInfo,",OpCaptureEventProfilingInfo,"it's an ID, not in grammar",should not have one\r
+" OperandCapability,",Capability,,OpCapabilityTest
\ No newline at end of file