xref: /aosp_15_r20/external/skia/tests/sksl/shared/MatricesNonsquare.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker               OpCapability Shader
2*c8dee2aaSAndroid Build Coastguard Worker          %1 = OpExtInstImport "GLSL.std.450"
3*c8dee2aaSAndroid Build Coastguard Worker               OpMemoryModel Logical GLSL450
4*c8dee2aaSAndroid Build Coastguard Worker               OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor
5*c8dee2aaSAndroid Build Coastguard Worker               OpExecutionMode %_entrypoint_v OriginUpperLeft
6*c8dee2aaSAndroid Build Coastguard Worker               OpName %sk_FragColor "sk_FragColor"
7*c8dee2aaSAndroid Build Coastguard Worker               OpName %_UniformBuffer "_UniformBuffer"
8*c8dee2aaSAndroid Build Coastguard Worker               OpMemberName %_UniformBuffer 0 "colorGreen"
9*c8dee2aaSAndroid Build Coastguard Worker               OpMemberName %_UniformBuffer 1 "colorRed"
10*c8dee2aaSAndroid Build Coastguard Worker               OpName %_entrypoint_v "_entrypoint_v"
11*c8dee2aaSAndroid Build Coastguard Worker               OpName %test_half_b "test_half_b"
12*c8dee2aaSAndroid Build Coastguard Worker               OpName %ok "ok"
13*c8dee2aaSAndroid Build Coastguard Worker               OpName %m23 "m23"
14*c8dee2aaSAndroid Build Coastguard Worker               OpName %m24 "m24"
15*c8dee2aaSAndroid Build Coastguard Worker               OpName %m32 "m32"
16*c8dee2aaSAndroid Build Coastguard Worker               OpName %m34 "m34"
17*c8dee2aaSAndroid Build Coastguard Worker               OpName %m42 "m42"
18*c8dee2aaSAndroid Build Coastguard Worker               OpName %m43 "m43"
19*c8dee2aaSAndroid Build Coastguard Worker               OpName %m22 "m22"
20*c8dee2aaSAndroid Build Coastguard Worker               OpName %m33 "m33"
21*c8dee2aaSAndroid Build Coastguard Worker               OpName %main "main"
22*c8dee2aaSAndroid Build Coastguard Worker               OpName %_0_ok "_0_ok"
23*c8dee2aaSAndroid Build Coastguard Worker               OpName %_1_m23 "_1_m23"
24*c8dee2aaSAndroid Build Coastguard Worker               OpName %_2_m24 "_2_m24"
25*c8dee2aaSAndroid Build Coastguard Worker               OpName %_3_m32 "_3_m32"
26*c8dee2aaSAndroid Build Coastguard Worker               OpName %_7_m22 "_7_m22"
27*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor RelaxedPrecision
28*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor Location 0
29*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor Index 0
30*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 0 Offset 0
31*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
32*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 1 Offset 16
33*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
34*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %_UniformBuffer Block
35*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %8 Binding 0
36*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %8 DescriptorSet 0
37*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m23 RelaxedPrecision
38*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %39 RelaxedPrecision
39*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %41 RelaxedPrecision
40*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m24 RelaxedPrecision
41*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %55 RelaxedPrecision
42*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %57 RelaxedPrecision
43*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m32 RelaxedPrecision
44*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %71 RelaxedPrecision
45*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %73 RelaxedPrecision
46*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %76 RelaxedPrecision
47*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m34 RelaxedPrecision
48*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %90 RelaxedPrecision
49*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %92 RelaxedPrecision
50*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %95 RelaxedPrecision
51*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m42 RelaxedPrecision
52*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %108 RelaxedPrecision
53*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %110 RelaxedPrecision
54*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %113 RelaxedPrecision
55*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %116 RelaxedPrecision
56*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m43 RelaxedPrecision
57*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %131 RelaxedPrecision
58*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %133 RelaxedPrecision
59*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %136 RelaxedPrecision
60*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %139 RelaxedPrecision
61*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m22 RelaxedPrecision
62*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %146 RelaxedPrecision
63*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %153 RelaxedPrecision
64*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %154 RelaxedPrecision
65*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %156 RelaxedPrecision
66*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %157 RelaxedPrecision
67*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %m33 RelaxedPrecision
68*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %164 RelaxedPrecision
69*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %172 RelaxedPrecision
70*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %173 RelaxedPrecision
71*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %175 RelaxedPrecision
72*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %176 RelaxedPrecision
73*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %179 RelaxedPrecision
74*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %180 RelaxedPrecision
75*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %187 RelaxedPrecision
76*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %188 RelaxedPrecision
77*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %189 RelaxedPrecision
78*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %195 RelaxedPrecision
79*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %197 RelaxedPrecision
80*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %203 RelaxedPrecision
81*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %204 RelaxedPrecision
82*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %205 RelaxedPrecision
83*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %206 RelaxedPrecision
84*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %214 RelaxedPrecision
85*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %216 RelaxedPrecision
86*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %219 RelaxedPrecision
87*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %224 RelaxedPrecision
88*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %231 RelaxedPrecision
89*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %232 RelaxedPrecision
90*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %234 RelaxedPrecision
91*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %235 RelaxedPrecision
92*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %335 RelaxedPrecision
93*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %338 RelaxedPrecision
94*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %339 RelaxedPrecision
95*c8dee2aaSAndroid Build Coastguard Worker      %float = OpTypeFloat 32
96*c8dee2aaSAndroid Build Coastguard Worker    %v4float = OpTypeVector %float 4
97*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Output_v4float = OpTypePointer Output %v4float
98*c8dee2aaSAndroid Build Coastguard Worker%sk_FragColor = OpVariable %_ptr_Output_v4float Output
99*c8dee2aaSAndroid Build Coastguard Worker%_UniformBuffer = OpTypeStruct %v4float %v4float
100*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
101*c8dee2aaSAndroid Build Coastguard Worker          %8 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
102*c8dee2aaSAndroid Build Coastguard Worker       %void = OpTypeVoid
103*c8dee2aaSAndroid Build Coastguard Worker         %13 = OpTypeFunction %void
104*c8dee2aaSAndroid Build Coastguard Worker    %float_0 = OpConstant %float 0
105*c8dee2aaSAndroid Build Coastguard Worker    %v2float = OpTypeVector %float 2
106*c8dee2aaSAndroid Build Coastguard Worker         %17 = OpConstantComposite %v2float %float_0 %float_0
107*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v2float = OpTypePointer Function %v2float
108*c8dee2aaSAndroid Build Coastguard Worker       %bool = OpTypeBool
109*c8dee2aaSAndroid Build Coastguard Worker         %22 = OpTypeFunction %bool
110*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_bool = OpTypePointer Function %bool
111*c8dee2aaSAndroid Build Coastguard Worker       %true = OpConstantTrue %bool
112*c8dee2aaSAndroid Build Coastguard Worker    %v3float = OpTypeVector %float 3
113*c8dee2aaSAndroid Build Coastguard Worker%mat2v3float = OpTypeMatrix %v3float 2
114*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat2v3float = OpTypePointer Function %mat2v3float
115*c8dee2aaSAndroid Build Coastguard Worker    %float_2 = OpConstant %float 2
116*c8dee2aaSAndroid Build Coastguard Worker         %32 = OpConstantComposite %v3float %float_2 %float_0 %float_0
117*c8dee2aaSAndroid Build Coastguard Worker         %33 = OpConstantComposite %v3float %float_0 %float_2 %float_0
118*c8dee2aaSAndroid Build Coastguard Worker         %34 = OpConstantComposite %mat2v3float %32 %33
119*c8dee2aaSAndroid Build Coastguard Worker      %false = OpConstantFalse %bool
120*c8dee2aaSAndroid Build Coastguard Worker     %v3bool = OpTypeVector %bool 3
121*c8dee2aaSAndroid Build Coastguard Worker%mat2v4float = OpTypeMatrix %v4float 2
122*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat2v4float = OpTypePointer Function %mat2v4float
123*c8dee2aaSAndroid Build Coastguard Worker    %float_3 = OpConstant %float 3
124*c8dee2aaSAndroid Build Coastguard Worker         %49 = OpConstantComposite %v4float %float_3 %float_0 %float_0 %float_0
125*c8dee2aaSAndroid Build Coastguard Worker         %50 = OpConstantComposite %v4float %float_0 %float_3 %float_0 %float_0
126*c8dee2aaSAndroid Build Coastguard Worker         %51 = OpConstantComposite %mat2v4float %49 %50
127*c8dee2aaSAndroid Build Coastguard Worker     %v4bool = OpTypeVector %bool 4
128*c8dee2aaSAndroid Build Coastguard Worker%mat3v2float = OpTypeMatrix %v2float 3
129*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat3v2float = OpTypePointer Function %mat3v2float
130*c8dee2aaSAndroid Build Coastguard Worker    %float_4 = OpConstant %float 4
131*c8dee2aaSAndroid Build Coastguard Worker         %65 = OpConstantComposite %v2float %float_4 %float_0
132*c8dee2aaSAndroid Build Coastguard Worker         %66 = OpConstantComposite %v2float %float_0 %float_4
133*c8dee2aaSAndroid Build Coastguard Worker         %67 = OpConstantComposite %mat3v2float %65 %66 %17
134*c8dee2aaSAndroid Build Coastguard Worker     %v2bool = OpTypeVector %bool 2
135*c8dee2aaSAndroid Build Coastguard Worker%mat3v4float = OpTypeMatrix %v4float 3
136*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat3v4float = OpTypePointer Function %mat3v4float
137*c8dee2aaSAndroid Build Coastguard Worker    %float_5 = OpConstant %float 5
138*c8dee2aaSAndroid Build Coastguard Worker         %84 = OpConstantComposite %v4float %float_5 %float_0 %float_0 %float_0
139*c8dee2aaSAndroid Build Coastguard Worker         %85 = OpConstantComposite %v4float %float_0 %float_5 %float_0 %float_0
140*c8dee2aaSAndroid Build Coastguard Worker         %86 = OpConstantComposite %v4float %float_0 %float_0 %float_5 %float_0
141*c8dee2aaSAndroid Build Coastguard Worker         %87 = OpConstantComposite %mat3v4float %84 %85 %86
142*c8dee2aaSAndroid Build Coastguard Worker%mat4v2float = OpTypeMatrix %v2float 4
143*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat4v2float = OpTypePointer Function %mat4v2float
144*c8dee2aaSAndroid Build Coastguard Worker    %float_6 = OpConstant %float 6
145*c8dee2aaSAndroid Build Coastguard Worker        %103 = OpConstantComposite %v2float %float_6 %float_0
146*c8dee2aaSAndroid Build Coastguard Worker        %104 = OpConstantComposite %v2float %float_0 %float_6
147*c8dee2aaSAndroid Build Coastguard Worker        %105 = OpConstantComposite %mat4v2float %103 %104 %17 %17
148*c8dee2aaSAndroid Build Coastguard Worker%mat4v3float = OpTypeMatrix %v3float 4
149*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat4v3float = OpTypePointer Function %mat4v3float
150*c8dee2aaSAndroid Build Coastguard Worker    %float_7 = OpConstant %float 7
151*c8dee2aaSAndroid Build Coastguard Worker        %124 = OpConstantComposite %v3float %float_7 %float_0 %float_0
152*c8dee2aaSAndroid Build Coastguard Worker        %125 = OpConstantComposite %v3float %float_0 %float_7 %float_0
153*c8dee2aaSAndroid Build Coastguard Worker        %126 = OpConstantComposite %v3float %float_0 %float_0 %float_7
154*c8dee2aaSAndroid Build Coastguard Worker        %127 = OpConstantComposite %v3float %float_0 %float_0 %float_0
155*c8dee2aaSAndroid Build Coastguard Worker        %128 = OpConstantComposite %mat4v3float %124 %125 %126 %127
156*c8dee2aaSAndroid Build Coastguard Worker%mat2v2float = OpTypeMatrix %v2float 2
157*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
158*c8dee2aaSAndroid Build Coastguard Worker    %float_8 = OpConstant %float 8
159*c8dee2aaSAndroid Build Coastguard Worker        %150 = OpConstantComposite %v2float %float_8 %float_0
160*c8dee2aaSAndroid Build Coastguard Worker        %151 = OpConstantComposite %v2float %float_0 %float_8
161*c8dee2aaSAndroid Build Coastguard Worker        %152 = OpConstantComposite %mat2v2float %150 %151
162*c8dee2aaSAndroid Build Coastguard Worker%mat3v3float = OpTypeMatrix %v3float 3
163*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
164*c8dee2aaSAndroid Build Coastguard Worker   %float_35 = OpConstant %float 35
165*c8dee2aaSAndroid Build Coastguard Worker        %168 = OpConstantComposite %v3float %float_35 %float_0 %float_0
166*c8dee2aaSAndroid Build Coastguard Worker        %169 = OpConstantComposite %v3float %float_0 %float_35 %float_0
167*c8dee2aaSAndroid Build Coastguard Worker        %170 = OpConstantComposite %v3float %float_0 %float_0 %float_35
168*c8dee2aaSAndroid Build Coastguard Worker        %171 = OpConstantComposite %mat3v3float %168 %169 %170
169*c8dee2aaSAndroid Build Coastguard Worker    %float_1 = OpConstant %float 1
170*c8dee2aaSAndroid Build Coastguard Worker        %185 = OpConstantComposite %v3float %float_1 %float_1 %float_1
171*c8dee2aaSAndroid Build Coastguard Worker        %186 = OpConstantComposite %mat2v3float %185 %185
172*c8dee2aaSAndroid Build Coastguard Worker        %192 = OpConstantComposite %v3float %float_3 %float_1 %float_1
173*c8dee2aaSAndroid Build Coastguard Worker        %193 = OpConstantComposite %v3float %float_1 %float_3 %float_1
174*c8dee2aaSAndroid Build Coastguard Worker        %194 = OpConstantComposite %mat2v3float %192 %193
175*c8dee2aaSAndroid Build Coastguard Worker        %201 = OpConstantComposite %v2float %float_2 %float_2
176*c8dee2aaSAndroid Build Coastguard Worker        %202 = OpConstantComposite %mat3v2float %201 %201 %201
177*c8dee2aaSAndroid Build Coastguard Worker   %float_n2 = OpConstant %float -2
178*c8dee2aaSAndroid Build Coastguard Worker        %210 = OpConstantComposite %v2float %float_2 %float_n2
179*c8dee2aaSAndroid Build Coastguard Worker        %211 = OpConstantComposite %v2float %float_n2 %float_2
180*c8dee2aaSAndroid Build Coastguard Worker        %212 = OpConstantComposite %v2float %float_n2 %float_n2
181*c8dee2aaSAndroid Build Coastguard Worker        %213 = OpConstantComposite %mat3v2float %210 %211 %212
182*c8dee2aaSAndroid Build Coastguard Worker %float_0_25 = OpConstant %float 0.25
183*c8dee2aaSAndroid Build Coastguard Worker %float_0_75 = OpConstant %float 0.75
184*c8dee2aaSAndroid Build Coastguard Worker        %228 = OpConstantComposite %v4float %float_0_75 %float_0 %float_0 %float_0
185*c8dee2aaSAndroid Build Coastguard Worker        %229 = OpConstantComposite %v4float %float_0 %float_0_75 %float_0 %float_0
186*c8dee2aaSAndroid Build Coastguard Worker        %230 = OpConstantComposite %mat2v4float %228 %229
187*c8dee2aaSAndroid Build Coastguard Worker        %239 = OpTypeFunction %v4float %_ptr_Function_v2float
188*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v4float = OpTypePointer Function %v4float
189*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
190*c8dee2aaSAndroid Build Coastguard Worker        %int = OpTypeInt 32 1
191*c8dee2aaSAndroid Build Coastguard Worker      %int_0 = OpConstant %int 0
192*c8dee2aaSAndroid Build Coastguard Worker      %int_1 = OpConstant %int 1
193*c8dee2aaSAndroid Build Coastguard Worker%_entrypoint_v = OpFunction %void None %13
194*c8dee2aaSAndroid Build Coastguard Worker         %14 = OpLabel
195*c8dee2aaSAndroid Build Coastguard Worker         %18 = OpVariable %_ptr_Function_v2float Function
196*c8dee2aaSAndroid Build Coastguard Worker               OpStore %18 %17
197*c8dee2aaSAndroid Build Coastguard Worker         %20 = OpFunctionCall %v4float %main %18
198*c8dee2aaSAndroid Build Coastguard Worker               OpStore %sk_FragColor %20
199*c8dee2aaSAndroid Build Coastguard Worker               OpReturn
200*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
201*c8dee2aaSAndroid Build Coastguard Worker%test_half_b = OpFunction %bool None %22
202*c8dee2aaSAndroid Build Coastguard Worker         %23 = OpLabel
203*c8dee2aaSAndroid Build Coastguard Worker         %ok = OpVariable %_ptr_Function_bool Function
204*c8dee2aaSAndroid Build Coastguard Worker        %m23 = OpVariable %_ptr_Function_mat2v3float Function
205*c8dee2aaSAndroid Build Coastguard Worker        %m24 = OpVariable %_ptr_Function_mat2v4float Function
206*c8dee2aaSAndroid Build Coastguard Worker        %m32 = OpVariable %_ptr_Function_mat3v2float Function
207*c8dee2aaSAndroid Build Coastguard Worker        %m34 = OpVariable %_ptr_Function_mat3v4float Function
208*c8dee2aaSAndroid Build Coastguard Worker        %m42 = OpVariable %_ptr_Function_mat4v2float Function
209*c8dee2aaSAndroid Build Coastguard Worker        %m43 = OpVariable %_ptr_Function_mat4v3float Function
210*c8dee2aaSAndroid Build Coastguard Worker        %m22 = OpVariable %_ptr_Function_mat2v2float Function
211*c8dee2aaSAndroid Build Coastguard Worker        %m33 = OpVariable %_ptr_Function_mat3v3float Function
212*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %true
213*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m23 %34
214*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %37 None
215*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %true %36 %37
216*c8dee2aaSAndroid Build Coastguard Worker         %36 = OpLabel
217*c8dee2aaSAndroid Build Coastguard Worker         %39 = OpFOrdEqual %v3bool %32 %32
218*c8dee2aaSAndroid Build Coastguard Worker         %40 = OpAll %bool %39
219*c8dee2aaSAndroid Build Coastguard Worker         %41 = OpFOrdEqual %v3bool %33 %33
220*c8dee2aaSAndroid Build Coastguard Worker         %42 = OpAll %bool %41
221*c8dee2aaSAndroid Build Coastguard Worker         %43 = OpLogicalAnd %bool %40 %42
222*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %37
223*c8dee2aaSAndroid Build Coastguard Worker         %37 = OpLabel
224*c8dee2aaSAndroid Build Coastguard Worker         %44 = OpPhi %bool %false %23 %43 %36
225*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %44
226*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m24 %51
227*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %53 None
228*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %44 %52 %53
229*c8dee2aaSAndroid Build Coastguard Worker         %52 = OpLabel
230*c8dee2aaSAndroid Build Coastguard Worker         %55 = OpFOrdEqual %v4bool %49 %49
231*c8dee2aaSAndroid Build Coastguard Worker         %56 = OpAll %bool %55
232*c8dee2aaSAndroid Build Coastguard Worker         %57 = OpFOrdEqual %v4bool %50 %50
233*c8dee2aaSAndroid Build Coastguard Worker         %58 = OpAll %bool %57
234*c8dee2aaSAndroid Build Coastguard Worker         %59 = OpLogicalAnd %bool %56 %58
235*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %53
236*c8dee2aaSAndroid Build Coastguard Worker         %53 = OpLabel
237*c8dee2aaSAndroid Build Coastguard Worker         %60 = OpPhi %bool %false %37 %59 %52
238*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %60
239*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m32 %67
240*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %69 None
241*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %60 %68 %69
242*c8dee2aaSAndroid Build Coastguard Worker         %68 = OpLabel
243*c8dee2aaSAndroid Build Coastguard Worker         %71 = OpFOrdEqual %v2bool %65 %65
244*c8dee2aaSAndroid Build Coastguard Worker         %72 = OpAll %bool %71
245*c8dee2aaSAndroid Build Coastguard Worker         %73 = OpFOrdEqual %v2bool %66 %66
246*c8dee2aaSAndroid Build Coastguard Worker         %74 = OpAll %bool %73
247*c8dee2aaSAndroid Build Coastguard Worker         %75 = OpLogicalAnd %bool %72 %74
248*c8dee2aaSAndroid Build Coastguard Worker         %76 = OpFOrdEqual %v2bool %17 %17
249*c8dee2aaSAndroid Build Coastguard Worker         %77 = OpAll %bool %76
250*c8dee2aaSAndroid Build Coastguard Worker         %78 = OpLogicalAnd %bool %75 %77
251*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %69
252*c8dee2aaSAndroid Build Coastguard Worker         %69 = OpLabel
253*c8dee2aaSAndroid Build Coastguard Worker         %79 = OpPhi %bool %false %53 %78 %68
254*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %79
255*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m34 %87
256*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %89 None
257*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %79 %88 %89
258*c8dee2aaSAndroid Build Coastguard Worker         %88 = OpLabel
259*c8dee2aaSAndroid Build Coastguard Worker         %90 = OpFOrdEqual %v4bool %84 %84
260*c8dee2aaSAndroid Build Coastguard Worker         %91 = OpAll %bool %90
261*c8dee2aaSAndroid Build Coastguard Worker         %92 = OpFOrdEqual %v4bool %85 %85
262*c8dee2aaSAndroid Build Coastguard Worker         %93 = OpAll %bool %92
263*c8dee2aaSAndroid Build Coastguard Worker         %94 = OpLogicalAnd %bool %91 %93
264*c8dee2aaSAndroid Build Coastguard Worker         %95 = OpFOrdEqual %v4bool %86 %86
265*c8dee2aaSAndroid Build Coastguard Worker         %96 = OpAll %bool %95
266*c8dee2aaSAndroid Build Coastguard Worker         %97 = OpLogicalAnd %bool %94 %96
267*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %89
268*c8dee2aaSAndroid Build Coastguard Worker         %89 = OpLabel
269*c8dee2aaSAndroid Build Coastguard Worker         %98 = OpPhi %bool %false %69 %97 %88
270*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %98
271*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m42 %105
272*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %107 None
273*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %98 %106 %107
274*c8dee2aaSAndroid Build Coastguard Worker        %106 = OpLabel
275*c8dee2aaSAndroid Build Coastguard Worker        %108 = OpFOrdEqual %v2bool %103 %103
276*c8dee2aaSAndroid Build Coastguard Worker        %109 = OpAll %bool %108
277*c8dee2aaSAndroid Build Coastguard Worker        %110 = OpFOrdEqual %v2bool %104 %104
278*c8dee2aaSAndroid Build Coastguard Worker        %111 = OpAll %bool %110
279*c8dee2aaSAndroid Build Coastguard Worker        %112 = OpLogicalAnd %bool %109 %111
280*c8dee2aaSAndroid Build Coastguard Worker        %113 = OpFOrdEqual %v2bool %17 %17
281*c8dee2aaSAndroid Build Coastguard Worker        %114 = OpAll %bool %113
282*c8dee2aaSAndroid Build Coastguard Worker        %115 = OpLogicalAnd %bool %112 %114
283*c8dee2aaSAndroid Build Coastguard Worker        %116 = OpFOrdEqual %v2bool %17 %17
284*c8dee2aaSAndroid Build Coastguard Worker        %117 = OpAll %bool %116
285*c8dee2aaSAndroid Build Coastguard Worker        %118 = OpLogicalAnd %bool %115 %117
286*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %107
287*c8dee2aaSAndroid Build Coastguard Worker        %107 = OpLabel
288*c8dee2aaSAndroid Build Coastguard Worker        %119 = OpPhi %bool %false %89 %118 %106
289*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %119
290*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m43 %128
291*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %130 None
292*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %119 %129 %130
293*c8dee2aaSAndroid Build Coastguard Worker        %129 = OpLabel
294*c8dee2aaSAndroid Build Coastguard Worker        %131 = OpFOrdEqual %v3bool %124 %124
295*c8dee2aaSAndroid Build Coastguard Worker        %132 = OpAll %bool %131
296*c8dee2aaSAndroid Build Coastguard Worker        %133 = OpFOrdEqual %v3bool %125 %125
297*c8dee2aaSAndroid Build Coastguard Worker        %134 = OpAll %bool %133
298*c8dee2aaSAndroid Build Coastguard Worker        %135 = OpLogicalAnd %bool %132 %134
299*c8dee2aaSAndroid Build Coastguard Worker        %136 = OpFOrdEqual %v3bool %126 %126
300*c8dee2aaSAndroid Build Coastguard Worker        %137 = OpAll %bool %136
301*c8dee2aaSAndroid Build Coastguard Worker        %138 = OpLogicalAnd %bool %135 %137
302*c8dee2aaSAndroid Build Coastguard Worker        %139 = OpFOrdEqual %v3bool %127 %127
303*c8dee2aaSAndroid Build Coastguard Worker        %140 = OpAll %bool %139
304*c8dee2aaSAndroid Build Coastguard Worker        %141 = OpLogicalAnd %bool %138 %140
305*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %130
306*c8dee2aaSAndroid Build Coastguard Worker        %130 = OpLabel
307*c8dee2aaSAndroid Build Coastguard Worker        %142 = OpPhi %bool %false %107 %141 %129
308*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %142
309*c8dee2aaSAndroid Build Coastguard Worker        %146 = OpMatrixTimesMatrix %mat2v2float %67 %34
310*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m22 %146
311*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %148 None
312*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %142 %147 %148
313*c8dee2aaSAndroid Build Coastguard Worker        %147 = OpLabel
314*c8dee2aaSAndroid Build Coastguard Worker        %153 = OpCompositeExtract %v2float %146 0
315*c8dee2aaSAndroid Build Coastguard Worker        %154 = OpFOrdEqual %v2bool %153 %150
316*c8dee2aaSAndroid Build Coastguard Worker        %155 = OpAll %bool %154
317*c8dee2aaSAndroid Build Coastguard Worker        %156 = OpCompositeExtract %v2float %146 1
318*c8dee2aaSAndroid Build Coastguard Worker        %157 = OpFOrdEqual %v2bool %156 %151
319*c8dee2aaSAndroid Build Coastguard Worker        %158 = OpAll %bool %157
320*c8dee2aaSAndroid Build Coastguard Worker        %159 = OpLogicalAnd %bool %155 %158
321*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %148
322*c8dee2aaSAndroid Build Coastguard Worker        %148 = OpLabel
323*c8dee2aaSAndroid Build Coastguard Worker        %160 = OpPhi %bool %false %130 %159 %147
324*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %160
325*c8dee2aaSAndroid Build Coastguard Worker        %164 = OpMatrixTimesMatrix %mat3v3float %128 %87
326*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m33 %164
327*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %166 None
328*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %160 %165 %166
329*c8dee2aaSAndroid Build Coastguard Worker        %165 = OpLabel
330*c8dee2aaSAndroid Build Coastguard Worker        %172 = OpCompositeExtract %v3float %164 0
331*c8dee2aaSAndroid Build Coastguard Worker        %173 = OpFOrdEqual %v3bool %172 %168
332*c8dee2aaSAndroid Build Coastguard Worker        %174 = OpAll %bool %173
333*c8dee2aaSAndroid Build Coastguard Worker        %175 = OpCompositeExtract %v3float %164 1
334*c8dee2aaSAndroid Build Coastguard Worker        %176 = OpFOrdEqual %v3bool %175 %169
335*c8dee2aaSAndroid Build Coastguard Worker        %177 = OpAll %bool %176
336*c8dee2aaSAndroid Build Coastguard Worker        %178 = OpLogicalAnd %bool %174 %177
337*c8dee2aaSAndroid Build Coastguard Worker        %179 = OpCompositeExtract %v3float %164 2
338*c8dee2aaSAndroid Build Coastguard Worker        %180 = OpFOrdEqual %v3bool %179 %170
339*c8dee2aaSAndroid Build Coastguard Worker        %181 = OpAll %bool %180
340*c8dee2aaSAndroid Build Coastguard Worker        %182 = OpLogicalAnd %bool %178 %181
341*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %166
342*c8dee2aaSAndroid Build Coastguard Worker        %166 = OpLabel
343*c8dee2aaSAndroid Build Coastguard Worker        %183 = OpPhi %bool %false %148 %182 %165
344*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %183
345*c8dee2aaSAndroid Build Coastguard Worker        %187 = OpFAdd %v3float %32 %185
346*c8dee2aaSAndroid Build Coastguard Worker        %188 = OpFAdd %v3float %33 %185
347*c8dee2aaSAndroid Build Coastguard Worker        %189 = OpCompositeConstruct %mat2v3float %187 %188
348*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m23 %189
349*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %191 None
350*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %183 %190 %191
351*c8dee2aaSAndroid Build Coastguard Worker        %190 = OpLabel
352*c8dee2aaSAndroid Build Coastguard Worker        %195 = OpFOrdEqual %v3bool %187 %192
353*c8dee2aaSAndroid Build Coastguard Worker        %196 = OpAll %bool %195
354*c8dee2aaSAndroid Build Coastguard Worker        %197 = OpFOrdEqual %v3bool %188 %193
355*c8dee2aaSAndroid Build Coastguard Worker        %198 = OpAll %bool %197
356*c8dee2aaSAndroid Build Coastguard Worker        %199 = OpLogicalAnd %bool %196 %198
357*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %191
358*c8dee2aaSAndroid Build Coastguard Worker        %191 = OpLabel
359*c8dee2aaSAndroid Build Coastguard Worker        %200 = OpPhi %bool %false %166 %199 %190
360*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %200
361*c8dee2aaSAndroid Build Coastguard Worker        %203 = OpFSub %v2float %65 %201
362*c8dee2aaSAndroid Build Coastguard Worker        %204 = OpFSub %v2float %66 %201
363*c8dee2aaSAndroid Build Coastguard Worker        %205 = OpFSub %v2float %17 %201
364*c8dee2aaSAndroid Build Coastguard Worker        %206 = OpCompositeConstruct %mat3v2float %203 %204 %205
365*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m32 %206
366*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %208 None
367*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %200 %207 %208
368*c8dee2aaSAndroid Build Coastguard Worker        %207 = OpLabel
369*c8dee2aaSAndroid Build Coastguard Worker        %214 = OpFOrdEqual %v2bool %203 %210
370*c8dee2aaSAndroid Build Coastguard Worker        %215 = OpAll %bool %214
371*c8dee2aaSAndroid Build Coastguard Worker        %216 = OpFOrdEqual %v2bool %204 %211
372*c8dee2aaSAndroid Build Coastguard Worker        %217 = OpAll %bool %216
373*c8dee2aaSAndroid Build Coastguard Worker        %218 = OpLogicalAnd %bool %215 %217
374*c8dee2aaSAndroid Build Coastguard Worker        %219 = OpFOrdEqual %v2bool %205 %212
375*c8dee2aaSAndroid Build Coastguard Worker        %220 = OpAll %bool %219
376*c8dee2aaSAndroid Build Coastguard Worker        %221 = OpLogicalAnd %bool %218 %220
377*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %208
378*c8dee2aaSAndroid Build Coastguard Worker        %208 = OpLabel
379*c8dee2aaSAndroid Build Coastguard Worker        %222 = OpPhi %bool %false %191 %221 %207
380*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %222
381*c8dee2aaSAndroid Build Coastguard Worker        %224 = OpMatrixTimesScalar %mat2v4float %51 %float_0_25
382*c8dee2aaSAndroid Build Coastguard Worker               OpStore %m24 %224
383*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %226 None
384*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %222 %225 %226
385*c8dee2aaSAndroid Build Coastguard Worker        %225 = OpLabel
386*c8dee2aaSAndroid Build Coastguard Worker        %231 = OpCompositeExtract %v4float %224 0
387*c8dee2aaSAndroid Build Coastguard Worker        %232 = OpFOrdEqual %v4bool %231 %228
388*c8dee2aaSAndroid Build Coastguard Worker        %233 = OpAll %bool %232
389*c8dee2aaSAndroid Build Coastguard Worker        %234 = OpCompositeExtract %v4float %224 1
390*c8dee2aaSAndroid Build Coastguard Worker        %235 = OpFOrdEqual %v4bool %234 %229
391*c8dee2aaSAndroid Build Coastguard Worker        %236 = OpAll %bool %235
392*c8dee2aaSAndroid Build Coastguard Worker        %237 = OpLogicalAnd %bool %233 %236
393*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %226
394*c8dee2aaSAndroid Build Coastguard Worker        %226 = OpLabel
395*c8dee2aaSAndroid Build Coastguard Worker        %238 = OpPhi %bool %false %208 %237 %225
396*c8dee2aaSAndroid Build Coastguard Worker               OpStore %ok %238
397*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %238
398*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
399*c8dee2aaSAndroid Build Coastguard Worker       %main = OpFunction %v4float None %239
400*c8dee2aaSAndroid Build Coastguard Worker        %240 = OpFunctionParameter %_ptr_Function_v2float
401*c8dee2aaSAndroid Build Coastguard Worker        %241 = OpLabel
402*c8dee2aaSAndroid Build Coastguard Worker      %_0_ok = OpVariable %_ptr_Function_bool Function
403*c8dee2aaSAndroid Build Coastguard Worker     %_1_m23 = OpVariable %_ptr_Function_mat2v3float Function
404*c8dee2aaSAndroid Build Coastguard Worker     %_2_m24 = OpVariable %_ptr_Function_mat2v4float Function
405*c8dee2aaSAndroid Build Coastguard Worker     %_3_m32 = OpVariable %_ptr_Function_mat3v2float Function
406*c8dee2aaSAndroid Build Coastguard Worker     %_7_m22 = OpVariable %_ptr_Function_mat2v2float Function
407*c8dee2aaSAndroid Build Coastguard Worker        %326 = OpVariable %_ptr_Function_v4float Function
408*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %true
409*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_1_m23 %34
410*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %245 None
411*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %true %244 %245
412*c8dee2aaSAndroid Build Coastguard Worker        %244 = OpLabel
413*c8dee2aaSAndroid Build Coastguard Worker        %246 = OpFOrdEqual %v3bool %32 %32
414*c8dee2aaSAndroid Build Coastguard Worker        %247 = OpAll %bool %246
415*c8dee2aaSAndroid Build Coastguard Worker        %248 = OpFOrdEqual %v3bool %33 %33
416*c8dee2aaSAndroid Build Coastguard Worker        %249 = OpAll %bool %248
417*c8dee2aaSAndroid Build Coastguard Worker        %250 = OpLogicalAnd %bool %247 %249
418*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %245
419*c8dee2aaSAndroid Build Coastguard Worker        %245 = OpLabel
420*c8dee2aaSAndroid Build Coastguard Worker        %251 = OpPhi %bool %false %241 %250 %244
421*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %251
422*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_2_m24 %51
423*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %254 None
424*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %251 %253 %254
425*c8dee2aaSAndroid Build Coastguard Worker        %253 = OpLabel
426*c8dee2aaSAndroid Build Coastguard Worker        %255 = OpFOrdEqual %v4bool %49 %49
427*c8dee2aaSAndroid Build Coastguard Worker        %256 = OpAll %bool %255
428*c8dee2aaSAndroid Build Coastguard Worker        %257 = OpFOrdEqual %v4bool %50 %50
429*c8dee2aaSAndroid Build Coastguard Worker        %258 = OpAll %bool %257
430*c8dee2aaSAndroid Build Coastguard Worker        %259 = OpLogicalAnd %bool %256 %258
431*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %254
432*c8dee2aaSAndroid Build Coastguard Worker        %254 = OpLabel
433*c8dee2aaSAndroid Build Coastguard Worker        %260 = OpPhi %bool %false %245 %259 %253
434*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %260
435*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_3_m32 %67
436*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %263 None
437*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %260 %262 %263
438*c8dee2aaSAndroid Build Coastguard Worker        %262 = OpLabel
439*c8dee2aaSAndroid Build Coastguard Worker        %264 = OpFOrdEqual %v2bool %65 %65
440*c8dee2aaSAndroid Build Coastguard Worker        %265 = OpAll %bool %264
441*c8dee2aaSAndroid Build Coastguard Worker        %266 = OpFOrdEqual %v2bool %66 %66
442*c8dee2aaSAndroid Build Coastguard Worker        %267 = OpAll %bool %266
443*c8dee2aaSAndroid Build Coastguard Worker        %268 = OpLogicalAnd %bool %265 %267
444*c8dee2aaSAndroid Build Coastguard Worker        %269 = OpFOrdEqual %v2bool %17 %17
445*c8dee2aaSAndroid Build Coastguard Worker        %270 = OpAll %bool %269
446*c8dee2aaSAndroid Build Coastguard Worker        %271 = OpLogicalAnd %bool %268 %270
447*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %263
448*c8dee2aaSAndroid Build Coastguard Worker        %263 = OpLabel
449*c8dee2aaSAndroid Build Coastguard Worker        %272 = OpPhi %bool %false %254 %271 %262
450*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %272
451*c8dee2aaSAndroid Build Coastguard Worker        %274 = OpMatrixTimesMatrix %mat2v2float %67 %34
452*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_7_m22 %274
453*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %276 None
454*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %272 %275 %276
455*c8dee2aaSAndroid Build Coastguard Worker        %275 = OpLabel
456*c8dee2aaSAndroid Build Coastguard Worker        %277 = OpCompositeExtract %v2float %274 0
457*c8dee2aaSAndroid Build Coastguard Worker        %278 = OpFOrdEqual %v2bool %277 %150
458*c8dee2aaSAndroid Build Coastguard Worker        %279 = OpAll %bool %278
459*c8dee2aaSAndroid Build Coastguard Worker        %280 = OpCompositeExtract %v2float %274 1
460*c8dee2aaSAndroid Build Coastguard Worker        %281 = OpFOrdEqual %v2bool %280 %151
461*c8dee2aaSAndroid Build Coastguard Worker        %282 = OpAll %bool %281
462*c8dee2aaSAndroid Build Coastguard Worker        %283 = OpLogicalAnd %bool %279 %282
463*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %276
464*c8dee2aaSAndroid Build Coastguard Worker        %276 = OpLabel
465*c8dee2aaSAndroid Build Coastguard Worker        %284 = OpPhi %bool %false %263 %283 %275
466*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %284
467*c8dee2aaSAndroid Build Coastguard Worker        %285 = OpFAdd %v3float %32 %185
468*c8dee2aaSAndroid Build Coastguard Worker        %286 = OpFAdd %v3float %33 %185
469*c8dee2aaSAndroid Build Coastguard Worker        %287 = OpCompositeConstruct %mat2v3float %285 %286
470*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_1_m23 %287
471*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %289 None
472*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %284 %288 %289
473*c8dee2aaSAndroid Build Coastguard Worker        %288 = OpLabel
474*c8dee2aaSAndroid Build Coastguard Worker        %290 = OpFOrdEqual %v3bool %285 %192
475*c8dee2aaSAndroid Build Coastguard Worker        %291 = OpAll %bool %290
476*c8dee2aaSAndroid Build Coastguard Worker        %292 = OpFOrdEqual %v3bool %286 %193
477*c8dee2aaSAndroid Build Coastguard Worker        %293 = OpAll %bool %292
478*c8dee2aaSAndroid Build Coastguard Worker        %294 = OpLogicalAnd %bool %291 %293
479*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %289
480*c8dee2aaSAndroid Build Coastguard Worker        %289 = OpLabel
481*c8dee2aaSAndroid Build Coastguard Worker        %295 = OpPhi %bool %false %276 %294 %288
482*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %295
483*c8dee2aaSAndroid Build Coastguard Worker        %296 = OpFSub %v2float %65 %201
484*c8dee2aaSAndroid Build Coastguard Worker        %297 = OpFSub %v2float %66 %201
485*c8dee2aaSAndroid Build Coastguard Worker        %298 = OpFSub %v2float %17 %201
486*c8dee2aaSAndroid Build Coastguard Worker        %299 = OpCompositeConstruct %mat3v2float %296 %297 %298
487*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_3_m32 %299
488*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %301 None
489*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %295 %300 %301
490*c8dee2aaSAndroid Build Coastguard Worker        %300 = OpLabel
491*c8dee2aaSAndroid Build Coastguard Worker        %302 = OpFOrdEqual %v2bool %296 %210
492*c8dee2aaSAndroid Build Coastguard Worker        %303 = OpAll %bool %302
493*c8dee2aaSAndroid Build Coastguard Worker        %304 = OpFOrdEqual %v2bool %297 %211
494*c8dee2aaSAndroid Build Coastguard Worker        %305 = OpAll %bool %304
495*c8dee2aaSAndroid Build Coastguard Worker        %306 = OpLogicalAnd %bool %303 %305
496*c8dee2aaSAndroid Build Coastguard Worker        %307 = OpFOrdEqual %v2bool %298 %212
497*c8dee2aaSAndroid Build Coastguard Worker        %308 = OpAll %bool %307
498*c8dee2aaSAndroid Build Coastguard Worker        %309 = OpLogicalAnd %bool %306 %308
499*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %301
500*c8dee2aaSAndroid Build Coastguard Worker        %301 = OpLabel
501*c8dee2aaSAndroid Build Coastguard Worker        %310 = OpPhi %bool %false %289 %309 %300
502*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %310
503*c8dee2aaSAndroid Build Coastguard Worker        %311 = OpMatrixTimesScalar %mat2v4float %51 %float_0_25
504*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_2_m24 %311
505*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %313 None
506*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %310 %312 %313
507*c8dee2aaSAndroid Build Coastguard Worker        %312 = OpLabel
508*c8dee2aaSAndroid Build Coastguard Worker        %314 = OpCompositeExtract %v4float %311 0
509*c8dee2aaSAndroid Build Coastguard Worker        %315 = OpFOrdEqual %v4bool %314 %228
510*c8dee2aaSAndroid Build Coastguard Worker        %316 = OpAll %bool %315
511*c8dee2aaSAndroid Build Coastguard Worker        %317 = OpCompositeExtract %v4float %311 1
512*c8dee2aaSAndroid Build Coastguard Worker        %318 = OpFOrdEqual %v4bool %317 %229
513*c8dee2aaSAndroid Build Coastguard Worker        %319 = OpAll %bool %318
514*c8dee2aaSAndroid Build Coastguard Worker        %320 = OpLogicalAnd %bool %316 %319
515*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %313
516*c8dee2aaSAndroid Build Coastguard Worker        %313 = OpLabel
517*c8dee2aaSAndroid Build Coastguard Worker        %321 = OpPhi %bool %false %301 %320 %312
518*c8dee2aaSAndroid Build Coastguard Worker               OpStore %_0_ok %321
519*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %323 None
520*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %321 %322 %323
521*c8dee2aaSAndroid Build Coastguard Worker        %322 = OpLabel
522*c8dee2aaSAndroid Build Coastguard Worker        %324 = OpFunctionCall %bool %test_half_b
523*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %323
524*c8dee2aaSAndroid Build Coastguard Worker        %323 = OpLabel
525*c8dee2aaSAndroid Build Coastguard Worker        %325 = OpPhi %bool %false %313 %324 %322
526*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %330 None
527*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %325 %328 %329
528*c8dee2aaSAndroid Build Coastguard Worker        %328 = OpLabel
529*c8dee2aaSAndroid Build Coastguard Worker        %331 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0
530*c8dee2aaSAndroid Build Coastguard Worker        %335 = OpLoad %v4float %331
531*c8dee2aaSAndroid Build Coastguard Worker               OpStore %326 %335
532*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %330
533*c8dee2aaSAndroid Build Coastguard Worker        %329 = OpLabel
534*c8dee2aaSAndroid Build Coastguard Worker        %336 = OpAccessChain %_ptr_Uniform_v4float %8 %int_1
535*c8dee2aaSAndroid Build Coastguard Worker        %338 = OpLoad %v4float %336
536*c8dee2aaSAndroid Build Coastguard Worker               OpStore %326 %338
537*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %330
538*c8dee2aaSAndroid Build Coastguard Worker        %330 = OpLabel
539*c8dee2aaSAndroid Build Coastguard Worker        %339 = OpLoad %v4float %326
540*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %339
541*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
542