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