; flags: --transform substitute_override
;
; Test: SpvParserTest_EmitFunctions_Function_EntryPoint_WorkgroupSize_MixedConstantSpecConstant.spvasm
; SPIR-V
; Version: 1.0
; Generator: Khronos SPIR-V Tools Assembler; 0
; Bound: 13
; Schema: 0
OpCapability Shader
OpMemoryModel Logical Simple
OpEntryPoint GLCompute %1 "comp_main"
OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
OpDecorate %3 SpecId 0
OpDecorate %4 SpecId 2
%void = OpTypeVoid
%6 = OpTypeFunction %void
%float = OpTypeFloat 32
%uint = OpTypeInt 32 0
%int = OpTypeInt 32 1
%v3uint = OpTypeVector %uint 3
%3 = OpSpecConstant %uint 3
%uint_5 = OpConstant %uint 5
%4 = OpSpecConstant %uint 7
%gl_WorkGroupSize = OpSpecConstantComposite %v3uint %3 %uint_5 %4
%1 = OpFunction %void None %6
%12 = OpLabel
OpReturn
OpFunctionEnd

