#define CASE(OpCode) \
case Spv##OpCode: \
return isValid<Spv##OpCode>(inst, opcodeEntry);
-#define FAIL(OpCode) \
+#define TODO(OpCode) \
case Spv##OpCode: \
- std::cerr << "Not implemented: " << #OpCode << "\n"; \
- return false;
+ return true;
switch (inst->opcode) {
- FAIL(OpUndef)
+ TODO(OpUndef)
CASE(OpMemberName)
CASE(OpLine)
CASE(OpMemberDecorate)
CASE(OpGroupDecorate)
- FAIL(OpGroupMemberDecorate)
- FAIL(OpExtInst)
+ TODO(OpGroupMemberDecorate)
+ TODO(OpExtInst)
CASE(OpEntryPoint)
CASE(OpExecutionMode)
CASE(OpTypeVector)
CASE(OpSpecConstantTrue)
CASE(OpSpecConstantFalse)
CASE(OpSpecConstant)
- FAIL(OpSpecConstantComposite)
- FAIL(OpSpecConstantOp)
+ TODO(OpSpecConstantComposite)
+ TODO(OpSpecConstantOp)
CASE(OpVariable)
CASE(OpLoad)
CASE(OpStore)
CASE(OpCopyMemory)
CASE(OpCopyMemorySized)
- FAIL(OpAccessChain)
- FAIL(OpInBoundsAccessChain)
- FAIL(OpArrayLength)
- FAIL(OpGenericPtrMemSemantics)
+ TODO(OpAccessChain)
+ TODO(OpInBoundsAccessChain)
+ TODO(OpArrayLength)
+ TODO(OpGenericPtrMemSemantics)
CASE(OpFunction)
CASE(OpFunctionParameter)
CASE(OpFunctionCall)
- FAIL(OpConvertUToF)
- FAIL(OpConvertFToS)
- FAIL(OpConvertSToF)
- FAIL(OpUConvert)
- FAIL(OpSConvert)
- FAIL(OpFConvert)
- FAIL(OpConvertPtrToU)
- FAIL(OpConvertUToPtr)
- FAIL(OpPtrCastToGeneric)
- FAIL(OpGenericCastToPtr)
- FAIL(OpBitcast)
- FAIL(OpGenericCastToPtrExplicit)
- FAIL(OpSatConvertSToU)
- FAIL(OpSatConvertUToS)
- FAIL(OpVectorExtractDynamic)
- FAIL(OpVectorInsertDynamic)
- FAIL(OpVectorShuffle)
- FAIL(OpCompositeConstruct)
- FAIL(OpCompositeExtract)
- FAIL(OpCompositeInsert)
- FAIL(OpCopyObject)
- FAIL(OpTranspose)
- FAIL(OpSNegate)
- FAIL(OpFNegate)
- FAIL(OpNot)
- FAIL(OpIAdd)
- FAIL(OpFAdd)
- FAIL(OpISub)
- FAIL(OpFSub)
- FAIL(OpIMul)
- FAIL(OpFMul)
- FAIL(OpUDiv)
- FAIL(OpSDiv)
- FAIL(OpFDiv)
- FAIL(OpUMod)
- FAIL(OpSRem)
- FAIL(OpSMod)
- FAIL(OpFRem)
- FAIL(OpFMod)
- FAIL(OpVectorTimesScalar)
- FAIL(OpMatrixTimesScalar)
- FAIL(OpVectorTimesMatrix)
- FAIL(OpMatrixTimesVector)
- FAIL(OpMatrixTimesMatrix)
- FAIL(OpOuterProduct)
- FAIL(OpDot)
- FAIL(OpShiftRightLogical)
- FAIL(OpShiftRightArithmetic)
- FAIL(OpShiftLeftLogical)
- FAIL(OpBitwiseOr)
- FAIL(OpBitwiseXor)
- FAIL(OpBitwiseAnd)
- FAIL(OpAny)
- FAIL(OpAll)
- FAIL(OpIsNan)
- FAIL(OpIsInf)
- FAIL(OpIsFinite)
- FAIL(OpIsNormal)
- FAIL(OpSignBitSet)
- FAIL(OpLessOrGreater)
- FAIL(OpOrdered)
- FAIL(OpUnordered)
- FAIL(OpLogicalOr)
- FAIL(OpLogicalAnd)
- FAIL(OpSelect)
- FAIL(OpIEqual)
- FAIL(OpFOrdEqual)
- FAIL(OpFUnordEqual)
- FAIL(OpINotEqual)
- FAIL(OpFOrdNotEqual)
- FAIL(OpFUnordNotEqual)
- FAIL(OpULessThan)
- FAIL(OpSLessThan)
- FAIL(OpFOrdLessThan)
- FAIL(OpFUnordLessThan)
- FAIL(OpUGreaterThan)
- FAIL(OpSGreaterThan)
- FAIL(OpFOrdGreaterThan)
- FAIL(OpFUnordGreaterThan)
- FAIL(OpULessThanEqual)
- FAIL(OpSLessThanEqual)
- FAIL(OpFOrdLessThanEqual)
- FAIL(OpFUnordLessThanEqual)
- FAIL(OpUGreaterThanEqual)
- FAIL(OpSGreaterThanEqual)
- FAIL(OpFOrdGreaterThanEqual)
- FAIL(OpFUnordGreaterThanEqual)
- FAIL(OpDPdx)
- FAIL(OpDPdy)
- FAIL(OpFwidth)
- FAIL(OpDPdxFine)
- FAIL(OpDPdyFine)
- FAIL(OpFwidthFine)
- FAIL(OpDPdxCoarse)
- FAIL(OpDPdyCoarse)
- FAIL(OpFwidthCoarse)
- FAIL(OpPhi)
- FAIL(OpLoopMerge)
- FAIL(OpSelectionMerge)
- FAIL(OpBranch)
- FAIL(OpBranchConditional)
- FAIL(OpSwitch)
+ TODO(OpConvertUToF)
+ TODO(OpConvertFToS)
+ TODO(OpConvertSToF)
+ TODO(OpUConvert)
+ TODO(OpSConvert)
+ TODO(OpFConvert)
+ TODO(OpConvertPtrToU)
+ TODO(OpConvertUToPtr)
+ TODO(OpPtrCastToGeneric)
+ TODO(OpGenericCastToPtr)
+ TODO(OpBitcast)
+ TODO(OpGenericCastToPtrExplicit)
+ TODO(OpSatConvertSToU)
+ TODO(OpSatConvertUToS)
+ TODO(OpVectorExtractDynamic)
+ TODO(OpVectorInsertDynamic)
+ TODO(OpVectorShuffle)
+ TODO(OpCompositeConstruct)
+ TODO(OpCompositeExtract)
+ TODO(OpCompositeInsert)
+ TODO(OpCopyObject)
+ TODO(OpTranspose)
+ TODO(OpSNegate)
+ TODO(OpFNegate)
+ TODO(OpNot)
+ TODO(OpIAdd)
+ TODO(OpFAdd)
+ TODO(OpISub)
+ TODO(OpFSub)
+ TODO(OpIMul)
+ TODO(OpFMul)
+ TODO(OpUDiv)
+ TODO(OpSDiv)
+ TODO(OpFDiv)
+ TODO(OpUMod)
+ TODO(OpSRem)
+ TODO(OpSMod)
+ TODO(OpFRem)
+ TODO(OpFMod)
+ TODO(OpVectorTimesScalar)
+ TODO(OpMatrixTimesScalar)
+ TODO(OpVectorTimesMatrix)
+ TODO(OpMatrixTimesVector)
+ TODO(OpMatrixTimesMatrix)
+ TODO(OpOuterProduct)
+ TODO(OpDot)
+ TODO(OpShiftRightLogical)
+ TODO(OpShiftRightArithmetic)
+ TODO(OpShiftLeftLogical)
+ TODO(OpBitwiseOr)
+ TODO(OpBitwiseXor)
+ TODO(OpBitwiseAnd)
+ TODO(OpAny)
+ TODO(OpAll)
+ TODO(OpIsNan)
+ TODO(OpIsInf)
+ TODO(OpIsFinite)
+ TODO(OpIsNormal)
+ TODO(OpSignBitSet)
+ TODO(OpLessOrGreater)
+ TODO(OpOrdered)
+ TODO(OpUnordered)
+ TODO(OpLogicalOr)
+ TODO(OpLogicalAnd)
+ TODO(OpSelect)
+ TODO(OpIEqual)
+ TODO(OpFOrdEqual)
+ TODO(OpFUnordEqual)
+ TODO(OpINotEqual)
+ TODO(OpFOrdNotEqual)
+ TODO(OpFUnordNotEqual)
+ TODO(OpULessThan)
+ TODO(OpSLessThan)
+ TODO(OpFOrdLessThan)
+ TODO(OpFUnordLessThan)
+ TODO(OpUGreaterThan)
+ TODO(OpSGreaterThan)
+ TODO(OpFOrdGreaterThan)
+ TODO(OpFUnordGreaterThan)
+ TODO(OpULessThanEqual)
+ TODO(OpSLessThanEqual)
+ TODO(OpFOrdLessThanEqual)
+ TODO(OpFUnordLessThanEqual)
+ TODO(OpUGreaterThanEqual)
+ TODO(OpSGreaterThanEqual)
+ TODO(OpFOrdGreaterThanEqual)
+ TODO(OpFUnordGreaterThanEqual)
+ TODO(OpDPdx)
+ TODO(OpDPdy)
+ TODO(OpFwidth)
+ TODO(OpDPdxFine)
+ TODO(OpDPdyFine)
+ TODO(OpFwidthFine)
+ TODO(OpDPdxCoarse)
+ TODO(OpDPdyCoarse)
+ TODO(OpFwidthCoarse)
+ TODO(OpPhi)
+ TODO(OpLoopMerge)
+ TODO(OpSelectionMerge)
+ TODO(OpBranch)
+ TODO(OpBranchConditional)
+ TODO(OpSwitch)
CASE(OpReturnValue)
- FAIL(OpLifetimeStart)
- FAIL(OpLifetimeStop)
- FAIL(OpAtomicLoad)
- FAIL(OpAtomicStore)
- FAIL(OpAtomicExchange)
- FAIL(OpAtomicCompareExchange)
- FAIL(OpAtomicCompareExchangeWeak)
- FAIL(OpAtomicIIncrement)
- FAIL(OpAtomicIDecrement)
- FAIL(OpAtomicIAdd)
- FAIL(OpAtomicISub)
- FAIL(OpAtomicUMin)
- FAIL(OpAtomicUMax)
- FAIL(OpAtomicAnd)
- FAIL(OpAtomicOr)
- FAIL(OpAtomicSMin)
- FAIL(OpAtomicSMax)
- FAIL(OpEmitStreamVertex)
- FAIL(OpEndStreamPrimitive)
- FAIL(OpGroupAsyncCopy)
- FAIL(OpGroupWaitEvents)
- FAIL(OpGroupAll)
- FAIL(OpGroupAny)
- FAIL(OpGroupBroadcast)
- FAIL(OpGroupIAdd)
- FAIL(OpGroupFAdd)
- FAIL(OpGroupFMin)
- FAIL(OpGroupUMin)
- FAIL(OpGroupSMin)
- FAIL(OpGroupFMax)
- FAIL(OpGroupUMax)
- FAIL(OpGroupSMax)
- FAIL(OpEnqueueMarker)
- FAIL(OpEnqueueKernel)
- FAIL(OpGetKernelNDrangeSubGroupCount)
- FAIL(OpGetKernelNDrangeMaxSubGroupSize)
- FAIL(OpGetKernelWorkGroupSize)
- FAIL(OpGetKernelPreferredWorkGroupSizeMultiple)
- FAIL(OpRetainEvent)
- FAIL(OpReleaseEvent)
- FAIL(OpCreateUserEvent)
- FAIL(OpIsValidEvent)
- FAIL(OpSetUserEventStatus)
- FAIL(OpCaptureEventProfilingInfo)
- FAIL(OpGetDefaultQueue)
- FAIL(OpBuildNDRange)
- FAIL(OpReadPipe)
- FAIL(OpWritePipe)
- FAIL(OpReservedReadPipe)
- FAIL(OpReservedWritePipe)
- FAIL(OpReserveReadPipePackets)
- FAIL(OpReserveWritePipePackets)
- FAIL(OpCommitReadPipe)
- FAIL(OpCommitWritePipe)
- FAIL(OpIsValidReserveId)
- FAIL(OpGetNumPipePackets)
- FAIL(OpGetMaxPipePackets)
- FAIL(OpGroupReserveReadPipePackets)
- FAIL(OpGroupReserveWritePipePackets)
- FAIL(OpGroupCommitReadPipe)
- FAIL(OpGroupCommitWritePipe)
+ TODO(OpLifetimeStart)
+ TODO(OpLifetimeStop)
+ TODO(OpAtomicLoad)
+ TODO(OpAtomicStore)
+ TODO(OpAtomicExchange)
+ TODO(OpAtomicCompareExchange)
+ TODO(OpAtomicCompareExchangeWeak)
+ TODO(OpAtomicIIncrement)
+ TODO(OpAtomicIDecrement)
+ TODO(OpAtomicIAdd)
+ TODO(OpAtomicISub)
+ TODO(OpAtomicUMin)
+ TODO(OpAtomicUMax)
+ TODO(OpAtomicAnd)
+ TODO(OpAtomicOr)
+ TODO(OpAtomicSMin)
+ TODO(OpAtomicSMax)
+ TODO(OpEmitStreamVertex)
+ TODO(OpEndStreamPrimitive)
+ TODO(OpGroupAsyncCopy)
+ TODO(OpGroupWaitEvents)
+ TODO(OpGroupAll)
+ TODO(OpGroupAny)
+ TODO(OpGroupBroadcast)
+ TODO(OpGroupIAdd)
+ TODO(OpGroupFAdd)
+ TODO(OpGroupFMin)
+ TODO(OpGroupUMin)
+ TODO(OpGroupSMin)
+ TODO(OpGroupFMax)
+ TODO(OpGroupUMax)
+ TODO(OpGroupSMax)
+ TODO(OpEnqueueMarker)
+ TODO(OpEnqueueKernel)
+ TODO(OpGetKernelNDrangeSubGroupCount)
+ TODO(OpGetKernelNDrangeMaxSubGroupSize)
+ TODO(OpGetKernelWorkGroupSize)
+ TODO(OpGetKernelPreferredWorkGroupSizeMultiple)
+ TODO(OpRetainEvent)
+ TODO(OpReleaseEvent)
+ TODO(OpCreateUserEvent)
+ TODO(OpIsValidEvent)
+ TODO(OpSetUserEventStatus)
+ TODO(OpCaptureEventProfilingInfo)
+ TODO(OpGetDefaultQueue)
+ TODO(OpBuildNDRange)
+ TODO(OpReadPipe)
+ TODO(OpWritePipe)
+ TODO(OpReservedReadPipe)
+ TODO(OpReservedWritePipe)
+ TODO(OpReserveReadPipePackets)
+ TODO(OpReserveWritePipePackets)
+ TODO(OpCommitReadPipe)
+ TODO(OpCommitWritePipe)
+ TODO(OpIsValidReserveId)
+ TODO(OpGetNumPipePackets)
+ TODO(OpGetMaxPipePackets)
+ TODO(OpGroupReserveReadPipePackets)
+ TODO(OpGroupReserveWritePipePackets)
+ TODO(OpGroupCommitReadPipe)
+ TODO(OpGroupCommitWritePipe)
default:
return true;
}
-#undef FAIL
+#undef TODO
#undef CASE
}
} // anonymous namespace