blob: 7a84c7ad9ea55591eccfd29b1f7aa4482b06fd29 [file]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 134
; Schema: 0
OpCapability Shader
%68 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %main "main"
OpName %v2f "v2f"
OpName %v3f "v3f"
OpName %v4f "v4f"
OpName %v2i "v2i"
OpName %v3i "v3i"
OpName %v4i "v4i"
OpName %v2u "v2u"
OpName %v3u "v3u"
OpName %v4u "v4u"
OpName %v2b "v2b"
OpName %v3b "v3b"
OpName %v4b "v4b"
OpName %i "i"
OpName %i_0 "i"
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%_ptr_Function_v2float = OpTypePointer Function %v2float
%9 = OpConstantNull %v2float
%v3float = OpTypeVector %float 3
%_ptr_Function_v3float = OpTypePointer Function %v3float
%13 = OpConstantNull %v3float
%v4float = OpTypeVector %float 4
%_ptr_Function_v4float = OpTypePointer Function %v4float
%17 = OpConstantNull %v4float
%int = OpTypeInt 32 1
%v2int = OpTypeVector %int 2
%_ptr_Function_v2int = OpTypePointer Function %v2int
%22 = OpConstantNull %v2int
%v3int = OpTypeVector %int 3
%_ptr_Function_v3int = OpTypePointer Function %v3int
%26 = OpConstantNull %v3int
%v4int = OpTypeVector %int 4
%_ptr_Function_v4int = OpTypePointer Function %v4int
%30 = OpConstantNull %v4int
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
%35 = OpConstantNull %v2uint
%v3uint = OpTypeVector %uint 3
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%39 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%43 = OpConstantNull %v4uint
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%_ptr_Function_v2bool = OpTypePointer Function %v2bool
%48 = OpConstantNull %v2bool
%v3bool = OpTypeVector %bool 3
%_ptr_Function_v3bool = OpTypePointer Function %v3bool
%52 = OpConstantNull %v3bool
%v4bool = OpTypeVector %bool 4
%_ptr_Function_v4bool = OpTypePointer Function %v4bool
%56 = OpConstantNull %v4bool
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%uint_2 = OpConstant %uint 2
%_ptr_Function_float = OpTypePointer Function %float
%float_1 = OpConstant %float 1
%uint_3 = OpConstant %uint 3
%int_1 = OpConstant %int 1
%_ptr_Function_uint = OpTypePointer Function %uint
%uint_1 = OpConstant %uint 1
%_ptr_Function_bool = OpTypePointer Function %bool
%true = OpConstantTrue %bool
%int_2 = OpConstant %int 2
%main = OpFunction %void None %3
%4 = OpLabel
%v2f = OpVariable %_ptr_Function_v2float Function %9
%v3f = OpVariable %_ptr_Function_v3float Function %13
%v4f = OpVariable %_ptr_Function_v4float Function %17
%v2i = OpVariable %_ptr_Function_v2int Function %22
%v3i = OpVariable %_ptr_Function_v3int Function %26
%v4i = OpVariable %_ptr_Function_v4int Function %30
%v2u = OpVariable %_ptr_Function_v2uint Function %35
%v3u = OpVariable %_ptr_Function_v3uint Function %39
%v4u = OpVariable %_ptr_Function_v4uint Function %43
%v2b = OpVariable %_ptr_Function_v2bool Function %48
%v3b = OpVariable %_ptr_Function_v3bool Function %52
%v4b = OpVariable %_ptr_Function_v4bool Function %56
%i = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function
OpBranch %57
%57 = OpLabel
OpStore %i_0 %int_0
OpBranch %60
%60 = OpLabel
OpLoopMerge %61 %59 None
OpBranch %58
%58 = OpLabel
%108 = OpLoad %int %i_0 None
%109 = OpSLessThan %bool %108 %int_2
OpSelectionMerge %111 None
OpBranchConditional %109 %111 %112
%112 = OpLabel
OpBranch %61
%111 = OpLabel
%113 = OpLoad %int %i_0 None
%114 = OpBitcast %uint %113
%115 = OpExtInst %uint %68 UMin %114 %uint_1
%116 = OpAccessChain %_ptr_Function_float %v2f %115
OpStore %116 %float_1 None
%117 = OpLoad %int %i_0 None
%118 = OpBitcast %uint %117
%119 = OpExtInst %uint %68 UMin %118 %uint_1
%120 = OpAccessChain %_ptr_Function_int %v2i %119
OpStore %120 %int_1 None
%121 = OpLoad %int %i_0 None
%122 = OpBitcast %uint %121
%123 = OpExtInst %uint %68 UMin %122 %uint_1
%124 = OpAccessChain %_ptr_Function_uint %v2u %123
OpStore %124 %uint_1 None
%125 = OpLoad %int %i_0 None
%126 = OpBitcast %uint %125
%127 = OpExtInst %uint %68 UMin %126 %uint_1
%128 = OpAccessChain %_ptr_Function_bool %v2b %127
OpStore %128 %true None
OpBranch %59
%59 = OpLabel
%129 = OpLoad %int %i_0 None
%130 = OpBitcast %uint %129
%131 = OpBitcast %uint %int_1
%132 = OpIAdd %uint %130 %131
%133 = OpBitcast %int %132
OpStore %i_0 %133 None
OpBranch %60
%61 = OpLabel
OpStore %i %int_0
%65 = OpLoad %int %i None
%66 = OpBitcast %uint %65
%67 = OpExtInst %uint %68 UMin %66 %uint_2
%70 = OpAccessChain %_ptr_Function_float %v3f %67
OpStore %70 %float_1 None
%73 = OpLoad %int %i None
%74 = OpBitcast %uint %73
%75 = OpExtInst %uint %68 UMin %74 %uint_3
%77 = OpAccessChain %_ptr_Function_float %v4f %75
OpStore %77 %float_1 None
%78 = OpLoad %int %i None
%79 = OpBitcast %uint %78
%80 = OpExtInst %uint %68 UMin %79 %uint_2
%81 = OpAccessChain %_ptr_Function_int %v3i %80
OpStore %81 %int_1 None
%83 = OpLoad %int %i None
%84 = OpBitcast %uint %83
%85 = OpExtInst %uint %68 UMin %84 %uint_3
%86 = OpAccessChain %_ptr_Function_int %v4i %85
OpStore %86 %int_1 None
%87 = OpLoad %int %i None
%88 = OpBitcast %uint %87
%89 = OpExtInst %uint %68 UMin %88 %uint_2
%90 = OpAccessChain %_ptr_Function_uint %v3u %89
OpStore %90 %uint_1 None
%93 = OpLoad %int %i None
%94 = OpBitcast %uint %93
%95 = OpExtInst %uint %68 UMin %94 %uint_3
%96 = OpAccessChain %_ptr_Function_uint %v4u %95
OpStore %96 %uint_1 None
%97 = OpLoad %int %i None
%98 = OpBitcast %uint %97
%99 = OpExtInst %uint %68 UMin %98 %uint_2
%100 = OpAccessChain %_ptr_Function_bool %v3b %99
OpStore %100 %true None
%103 = OpLoad %int %i None
%104 = OpBitcast %uint %103
%105 = OpExtInst %uint %68 UMin %104 %uint_3
%106 = OpAccessChain %_ptr_Function_bool %v4b %105
OpStore %106 %true None
OpReturn
OpFunctionEnd