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