blob: de73a5b6a66201084dbde4cbbfe4789e620ffffc [file]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 89
; Schema: 0
OpCapability Shader
%45 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %main "main"
OpName %v2f "v2f"
OpName %v2f_2 "v2f_2"
OpName %v3i "v3i"
OpName %v3i_2 "v3i_2"
OpName %v4u "v4u"
OpName %v4u_2 "v4u_2"
OpName %v2b "v2b"
OpName %v2b_2 "v2b_2"
OpName %i "i"
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%_ptr_Function_v2float = OpTypePointer Function %v2float
%9 = OpConstantNull %v2float
%int = OpTypeInt 32 1
%v3int = OpTypeVector %int 3
%_ptr_Function_v3int = OpTypePointer Function %v3int
%15 = OpConstantNull %v3int
%uint = OpTypeInt 32 0
%v4uint = OpTypeVector %uint 4
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%21 = OpConstantNull %v4uint
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%_ptr_Function_v2bool = OpTypePointer Function %v2bool
%27 = OpConstantNull %v2bool
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%int_2 = OpConstant %int 2
%uint_1 = OpConstant %uint 1
%_ptr_Function_float = OpTypePointer Function %float
%float_1 = OpConstant %float 1
%uint_2 = OpConstant %uint 2
%int_1 = OpConstant %int 1
%uint_3 = OpConstant %uint 3
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_bool = OpTypePointer Function %bool
%true = OpConstantTrue %bool
%main = OpFunction %void None %3
%4 = OpLabel
%v2f = OpVariable %_ptr_Function_v2float Function %9
%v2f_2 = OpVariable %_ptr_Function_v2float Function %9
%v3i = OpVariable %_ptr_Function_v3int Function %15
%v3i_2 = OpVariable %_ptr_Function_v3int Function %15
%v4u = OpVariable %_ptr_Function_v4uint Function %21
%v4u_2 = OpVariable %_ptr_Function_v4uint Function %21
%v2b = OpVariable %_ptr_Function_v2bool Function %27
%v2b_2 = OpVariable %_ptr_Function_v2bool Function %27
%i = OpVariable %_ptr_Function_int Function
OpBranch %29
%29 = OpLabel
OpStore %i %int_0
OpBranch %32
%32 = OpLabel
OpLoopMerge %33 %31 None
OpBranch %30
%30 = OpLabel
%37 = OpLoad %int %i None
%38 = OpSLessThan %bool %37 %int_2
OpSelectionMerge %40 None
OpBranchConditional %38 %40 %41
%41 = OpLabel
OpBranch %33
%40 = OpLabel
%42 = OpLoad %int %i None
%43 = OpBitcast %uint %42
%44 = OpExtInst %uint %45 UMin %43 %uint_1
%47 = OpAccessChain %_ptr_Function_float %v2f %44
OpStore %47 %float_1 None
%50 = OpLoad %int %i None
%51 = OpBitcast %uint %50
%52 = OpExtInst %uint %45 UMin %51 %uint_2
%54 = OpAccessChain %_ptr_Function_int %v3i %52
OpStore %54 %int_1 None
%56 = OpLoad %int %i None
%57 = OpBitcast %uint %56
%58 = OpExtInst %uint %45 UMin %57 %uint_3
%60 = OpAccessChain %_ptr_Function_uint %v4u %58
OpStore %60 %uint_1 None
%62 = OpLoad %int %i None
%63 = OpBitcast %uint %62
%64 = OpExtInst %uint %45 UMin %63 %uint_1
%65 = OpAccessChain %_ptr_Function_bool %v2b %64
OpStore %65 %true None
%68 = OpLoad %int %i None
%69 = OpBitcast %uint %68
%70 = OpExtInst %uint %45 UMin %69 %uint_1
%71 = OpAccessChain %_ptr_Function_float %v2f_2 %70
OpStore %71 %float_1 None
%72 = OpLoad %int %i None
%73 = OpBitcast %uint %72
%74 = OpExtInst %uint %45 UMin %73 %uint_2
%75 = OpAccessChain %_ptr_Function_int %v3i_2 %74
OpStore %75 %int_1 None
%76 = OpLoad %int %i None
%77 = OpBitcast %uint %76
%78 = OpExtInst %uint %45 UMin %77 %uint_3
%79 = OpAccessChain %_ptr_Function_uint %v4u_2 %78
OpStore %79 %uint_1 None
%80 = OpLoad %int %i None
%81 = OpBitcast %uint %80
%82 = OpExtInst %uint %45 UMin %81 %uint_1
%83 = OpAccessChain %_ptr_Function_bool %v2b_2 %82
OpStore %83 %true None
OpBranch %31
%31 = OpLabel
%84 = OpLoad %int %i None
%85 = OpBitcast %uint %84
%86 = OpBitcast %uint %int_1
%87 = OpIAdd %uint %85 %86
%88 = OpBitcast %int %87
OpStore %i %88 None
OpBranch %32
%33 = OpLabel
OpReturn
OpFunctionEnd