xref: /aosp_15_r20/external/skia/tests/sksl/runtime/RecursiveComparison_Structs.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1484 instructions
2
3[immutable slots]
4i0 = 0xFFFFFFFF
5i1 = 0
6
7store_src_rg                   coords = src.rg
8init_lane_masks                CondMask = LoopMask = RetMask = true
9copy_uniform                   $0 = colorGreen(0)
10copy_uniform                   $1 = colorGreen(2)
11div_float                      $0 /= $1
12copy_slot_unmasked             NAN1 = $0
13copy_uniform                   $0 = colorGreen(2)
14copy_uniform                   $1 = colorGreen(0)
15div_float                      $0 /= $1
16copy_slot_unmasked             NAN2 = $0
17copy_uniform                   $0 = colorGreen(0)
18copy_uniform                   $1 = colorGreen(2)
19mul_float                      $0 *= $1
20copy_slot_unmasked             ZP = $0
21copy_uniform                   $0 = colorGreen(0)
22bitwise_xor_imm_int            $0 ^= 0x80000000
23copy_uniform                   $1 = colorGreen(2)
24mul_float                      $0 *= $1
25copy_slot_unmasked             ZM = $0
26copy_uniform                   $0 = colorGreen(1)
27mul_imm_float                  $0 *= 0x42280000 (42.0)
28copy_slot_unmasked             F42 = $0
29copy_uniform                   $0 = colorGreen(1)
30mul_imm_float                  $0 *= 0x422C0000 (43.0)
31copy_slot_unmasked             F43 = $0
32copy_uniform                   $0 = colorGreen(1)
33mul_imm_float                  $0 *= 0x42300000 (44.0)
34copy_slot_unmasked             F44 = $0
35copy_uniform                   $0 = colorGreen(0)
36add_imm_float                  $0 += 0x3F800000 (1.0)
37copy_slot_unmasked             _0_one = $0
38splat_3_constants              _1_a.f1, _1_a.f2, _1_a.f3 = 0
39copy_slot_unmasked             _1_a.f1 = F42
40copy_slot_unmasked             _1_a.f2 = ZM
41copy_slot_unmasked             _1_a.f3 = ZP
42splat_3_constants              _2_b.f1, _2_b.f2, _2_b.f3 = 0
43copy_slot_unmasked             $0 = F42
44copy_slot_unmasked             $1 = _0_one
45mul_float                      $0 *= $1
46copy_slot_unmasked             _2_b.f1 = $0
47copy_slot_unmasked             $0 = ZM
48copy_slot_unmasked             $1 = _0_one
49mul_float                      $0 *= $1
50copy_slot_unmasked             _2_b.f2 = $0
51copy_slot_unmasked             $0 = ZP
52copy_slot_unmasked             $1 = _0_one
53mul_float                      $0 *= $1
54copy_slot_unmasked             _2_b.f3 = $0
55store_condition_mask           $12 = CondMask
56store_condition_mask           $19 = CondMask
57store_condition_mask           $26 = CondMask
58store_condition_mask           $33 = CondMask
59store_condition_mask           $40 = CondMask
60store_condition_mask           $47 = CondMask
61store_condition_mask           $54 = CondMask
62store_condition_mask           $60 = CondMask
63copy_constant                  $61 = 0xFFFFFFFF
64copy_slot_unmasked             $55 = _1_a.f1
65copy_slot_unmasked             $56 = _2_b.f1
66cmpne_float                    $55 = notEqual($55, $56)
67copy_slot_unmasked             $56 = _1_a.f2
68copy_slot_unmasked             $57 = _2_b.f2
69cmpne_float                    $56 = notEqual($56, $57)
70copy_slot_unmasked             $57 = _1_a.f3
71copy_slot_unmasked             $58 = _2_b.f3
72cmpne_float                    $57 = notEqual($57, $58)
73bitwise_or_int                 $56 |= $57
74bitwise_or_int                 $55 |= $56
75merge_condition_mask           CondMask = $60 & $61
76branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 8 at #83)
77copy_slot_unmasked             $56 = _1_a.f1
78copy_slot_unmasked             $57 = _2_b.f1
79cmpeq_float                    $56 = equal($56, $57)
80copy_slot_unmasked             $57 = _1_a.f2
81copy_slot_unmasked             $58 = _2_b.f2
82cmpeq_float                    $57 = equal($57, $58)
83copy_slot_unmasked             $58 = _1_a.f3
84copy_slot_unmasked             $59 = _2_b.f3
85cmpeq_float                    $58 = equal($58, $59)
86bitwise_and_int                $57 &= $58
87bitwise_and_int                $56 &= $57
88copy_slot_masked               $55 = Mask($56)
89label                          label 0x00000008
90load_condition_mask            CondMask = $60
91copy_constant                  $48 = 0
92merge_condition_mask           CondMask = $54 & $55
93branch_if_no_lanes_active      branch_if_no_lanes_active +57 (label 7 at #144)
94copy_constant                  eq = 0
95copy_uniform                   $49 = colorGreen(0)
96add_imm_float                  $49 += 0x3F800000 (1.0)
97copy_slot_unmasked             one = $49
98splat_3_constants              a.f1, a.f2, a.f3 = 0
99copy_slot_unmasked             $49 = F42
100copy_slot_masked               a.f1 = Mask($49)
101copy_slot_unmasked             $49 = ZM
102copy_slot_masked               a.f2 = Mask($49)
103copy_slot_unmasked             $49 = ZP
104copy_slot_masked               a.f3 = Mask($49)
105splat_3_constants              b.f1, b.f2, b.f3 = 0
106copy_slot_unmasked             $49 = F42
107copy_slot_unmasked             $50 = one
108mul_float                      $49 *= $50
109copy_slot_masked               b.f1 = Mask($49)
110copy_slot_unmasked             $49 = ZM
111copy_slot_unmasked             $50 = one
112mul_float                      $49 *= $50
113copy_slot_masked               b.f2 = Mask($49)
114copy_slot_unmasked             $49 = ZP
115copy_slot_unmasked             $50 = one
116mul_float                      $49 *= $50
117copy_slot_masked               b.f3 = Mask($49)
118store_condition_mask           $60 = CondMask
119copy_slot_unmasked             $61 = eq
120copy_slot_unmasked             $49 = a.f1
121copy_slot_unmasked             $50 = b.f1
122cmpne_float                    $49 = notEqual($49, $50)
123copy_slot_unmasked             $50 = a.f2
124copy_slot_unmasked             $51 = b.f2
125cmpne_float                    $50 = notEqual($50, $51)
126copy_slot_unmasked             $51 = a.f3
127copy_slot_unmasked             $52 = b.f3
128cmpne_float                    $51 = notEqual($51, $52)
129bitwise_or_int                 $50 |= $51
130bitwise_or_int                 $49 |= $50
131merge_condition_mask           CondMask = $60 & $61
132branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 10 at #139)
133copy_slot_unmasked             $50 = a.f1
134copy_slot_unmasked             $51 = b.f1
135cmpeq_float                    $50 = equal($50, $51)
136copy_slot_unmasked             $51 = a.f2
137copy_slot_unmasked             $52 = b.f2
138cmpeq_float                    $51 = equal($51, $52)
139copy_slot_unmasked             $52 = a.f3
140copy_slot_unmasked             $53 = b.f3
141cmpeq_float                    $52 = equal($52, $53)
142bitwise_and_int                $51 &= $52
143bitwise_and_int                $50 &= $51
144copy_slot_masked               $49 = Mask($50)
145label                          label 0x0000000A
146load_condition_mask            CondMask = $60
147label                          label 0x00000009
148bitwise_xor_imm_int            $49 ^= 0xFFFFFFFF
149copy_slot_masked               $48 = Mask($49)
150label                          label 0x00000007
151load_condition_mask            CondMask = $54
152copy_constant                  $41 = 0
153merge_condition_mask           CondMask = $47 & $48
154branch_if_no_lanes_active      branch_if_no_lanes_active +56 (label 6 at #204)
155copy_constant                  eq = 0
156copy_uniform                   $42 = colorGreen(0)
157add_imm_float                  $42 += 0x3F800000 (1.0)
158copy_slot_unmasked             one = $42
159splat_3_constants              a.f1, a.f2, a.f3 = 0
160copy_slot_unmasked             $42 = F42
161copy_slot_masked               a.f1 = Mask($42)
162copy_slot_unmasked             $42 = NAN1
163copy_slot_masked               a.f2 = Mask($42)
164copy_slot_unmasked             $42 = NAN2
165copy_slot_masked               a.f3 = Mask($42)
166splat_3_constants              b.f1, b.f2, b.f3 = 0
167copy_slot_unmasked             $42 = F42
168copy_slot_unmasked             $43 = one
169mul_float                      $42 *= $43
170copy_slot_masked               b.f1 = Mask($42)
171copy_slot_unmasked             $42 = NAN1
172copy_slot_unmasked             $43 = one
173mul_float                      $42 *= $43
174copy_slot_masked               b.f2 = Mask($42)
175copy_slot_unmasked             $42 = NAN2
176copy_slot_unmasked             $43 = one
177mul_float                      $42 *= $43
178copy_slot_masked               b.f3 = Mask($42)
179store_condition_mask           $54 = CondMask
180copy_slot_unmasked             $55 = eq
181copy_slot_unmasked             $42 = a.f1
182copy_slot_unmasked             $43 = b.f1
183cmpne_float                    $42 = notEqual($42, $43)
184copy_slot_unmasked             $43 = a.f2
185copy_slot_unmasked             $44 = b.f2
186cmpne_float                    $43 = notEqual($43, $44)
187copy_slot_unmasked             $44 = a.f3
188copy_slot_unmasked             $45 = b.f3
189cmpne_float                    $44 = notEqual($44, $45)
190bitwise_or_int                 $43 |= $44
191bitwise_or_int                 $42 |= $43
192merge_condition_mask           CondMask = $54 & $55
193branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 12 at #200)
194copy_slot_unmasked             $43 = a.f1
195copy_slot_unmasked             $44 = b.f1
196cmpeq_float                    $43 = equal($43, $44)
197copy_slot_unmasked             $44 = a.f2
198copy_slot_unmasked             $45 = b.f2
199cmpeq_float                    $44 = equal($44, $45)
200copy_slot_unmasked             $45 = a.f3
201copy_slot_unmasked             $46 = b.f3
202cmpeq_float                    $45 = equal($45, $46)
203bitwise_and_int                $44 &= $45
204bitwise_and_int                $43 &= $44
205copy_slot_masked               $42 = Mask($43)
206label                          label 0x0000000C
207load_condition_mask            CondMask = $54
208label                          label 0x0000000B
209copy_slot_masked               $41 = Mask($42)
210label                          label 0x00000006
211load_condition_mask            CondMask = $47
212copy_constant                  $34 = 0
213merge_condition_mask           CondMask = $40 & $41
214branch_if_no_lanes_active      branch_if_no_lanes_active +57 (label 5 at #265)
215copy_constant                  eq = 0xFFFFFFFF
216copy_uniform                   $35 = colorGreen(0)
217add_imm_float                  $35 += 0x3F800000 (1.0)
218copy_slot_unmasked             one = $35
219splat_3_constants              a.f1, a.f2, a.f3 = 0
220copy_slot_unmasked             $35 = F42
221copy_slot_masked               a.f1 = Mask($35)
222copy_slot_unmasked             $35 = NAN1
223copy_slot_masked               a.f2 = Mask($35)
224copy_slot_unmasked             $35 = NAN2
225copy_slot_masked               a.f3 = Mask($35)
226splat_3_constants              b.f1, b.f2, b.f3 = 0
227copy_slot_unmasked             $35 = F42
228copy_slot_unmasked             $36 = one
229mul_float                      $35 *= $36
230copy_slot_masked               b.f1 = Mask($35)
231copy_slot_unmasked             $35 = NAN1
232copy_slot_unmasked             $36 = one
233mul_float                      $35 *= $36
234copy_slot_masked               b.f2 = Mask($35)
235copy_slot_unmasked             $35 = NAN2
236copy_slot_unmasked             $36 = one
237mul_float                      $35 *= $36
238copy_slot_masked               b.f3 = Mask($35)
239store_condition_mask           $47 = CondMask
240copy_slot_unmasked             $48 = eq
241copy_slot_unmasked             $35 = a.f1
242copy_slot_unmasked             $36 = b.f1
243cmpne_float                    $35 = notEqual($35, $36)
244copy_slot_unmasked             $36 = a.f2
245copy_slot_unmasked             $37 = b.f2
246cmpne_float                    $36 = notEqual($36, $37)
247copy_slot_unmasked             $37 = a.f3
248copy_slot_unmasked             $38 = b.f3
249cmpne_float                    $37 = notEqual($37, $38)
250bitwise_or_int                 $36 |= $37
251bitwise_or_int                 $35 |= $36
252merge_condition_mask           CondMask = $47 & $48
253branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 14 at #260)
254copy_slot_unmasked             $36 = a.f1
255copy_slot_unmasked             $37 = b.f1
256cmpeq_float                    $36 = equal($36, $37)
257copy_slot_unmasked             $37 = a.f2
258copy_slot_unmasked             $38 = b.f2
259cmpeq_float                    $37 = equal($37, $38)
260copy_slot_unmasked             $38 = a.f3
261copy_slot_unmasked             $39 = b.f3
262cmpeq_float                    $38 = equal($38, $39)
263bitwise_and_int                $37 &= $38
264bitwise_and_int                $36 &= $37
265copy_slot_masked               $35 = Mask($36)
266label                          label 0x0000000E
267load_condition_mask            CondMask = $47
268label                          label 0x0000000D
269bitwise_xor_imm_int            $35 ^= 0xFFFFFFFF
270copy_slot_masked               $34 = Mask($35)
271label                          label 0x00000005
272load_condition_mask            CondMask = $40
273copy_constant                  $27 = 0
274merge_condition_mask           CondMask = $33 & $34
275branch_if_no_lanes_active      branch_if_no_lanes_active +54 (label 4 at #323)
276copy_constant                  eq₁ = 0
277copy_uniform                   $28 = colorGreen(0)
278add_imm_float                  $28 += 0x40000000 (2.0)
279copy_slot_unmasked             two = $28
280splat_3_constants              a.f1₁, a.f2₁, a.f3₁ = 0
281copy_slot_unmasked             $28 = F42
282copy_slot_masked               a.f1₁ = Mask($28)
283copy_slot_unmasked             $28 = F43
284copy_slot_masked               a.f2₁ = Mask($28)
285copy_slot_unmasked             $28 = F44
286copy_slot_masked               a.f3₁ = Mask($28)
287splat_3_constants              b.f1₁, b.f2₁, b.f3₁ = 0
288copy_slot_unmasked             $28 = F42
289copy_slot_unmasked             $29 = two
290mul_float                      $28 *= $29
291copy_slot_masked               b.f1₁ = Mask($28)
292copy_slot_unmasked             $28 = F43
293copy_slot_unmasked             $29 = two
294mul_float                      $28 *= $29
295copy_slot_masked               b.f2₁ = Mask($28)
296copy_slot_unmasked             $28 = F44
297copy_slot_masked               b.f3₁ = Mask($28)
298store_condition_mask           $40 = CondMask
299copy_slot_unmasked             $41 = eq₁
300copy_slot_unmasked             $28 = a.f1301copy_slot_unmasked             $29 = b.f1302cmpne_float                    $28 = notEqual($28, $29)
303copy_slot_unmasked             $29 = a.f2304copy_slot_unmasked             $30 = b.f2305cmpne_float                    $29 = notEqual($29, $30)
306copy_slot_unmasked             $30 = a.f3307copy_slot_unmasked             $31 = b.f3308cmpne_float                    $30 = notEqual($30, $31)
309bitwise_or_int                 $29 |= $30
310bitwise_or_int                 $28 |= $29
311merge_condition_mask           CondMask = $40 & $41
312branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 16 at #319)
313copy_slot_unmasked             $29 = a.f1314copy_slot_unmasked             $30 = b.f1315cmpeq_float                    $29 = equal($29, $30)
316copy_slot_unmasked             $30 = a.f2317copy_slot_unmasked             $31 = b.f2318cmpeq_float                    $30 = equal($30, $31)
319copy_slot_unmasked             $31 = a.f3320copy_slot_unmasked             $32 = b.f3321cmpeq_float                    $31 = equal($31, $32)
322bitwise_and_int                $30 &= $31
323bitwise_and_int                $29 &= $30
324copy_slot_masked               $28 = Mask($29)
325label                          label 0x00000010
326load_condition_mask            CondMask = $40
327label                          label 0x0000000F
328copy_slot_masked               $27 = Mask($28)
329label                          label 0x00000004
330load_condition_mask            CondMask = $33
331copy_constant                  $20 = 0
332merge_condition_mask           CondMask = $26 & $27
333branch_if_no_lanes_active      branch_if_no_lanes_active +55 (label 3 at #382)
334copy_constant                  eq₁ = 0xFFFFFFFF
335copy_uniform                   $21 = colorGreen(0)
336add_imm_float                  $21 += 0x40000000 (2.0)
337copy_slot_unmasked             two = $21
338splat_3_constants              a.f1₁, a.f2₁, a.f3₁ = 0
339copy_slot_unmasked             $21 = F42
340copy_slot_masked               a.f1₁ = Mask($21)
341copy_slot_unmasked             $21 = F43
342copy_slot_masked               a.f2₁ = Mask($21)
343copy_slot_unmasked             $21 = F44
344copy_slot_masked               a.f3₁ = Mask($21)
345splat_3_constants              b.f1₁, b.f2₁, b.f3₁ = 0
346copy_slot_unmasked             $21 = F42
347copy_slot_unmasked             $22 = two
348mul_float                      $21 *= $22
349copy_slot_masked               b.f1₁ = Mask($21)
350copy_slot_unmasked             $21 = F43
351copy_slot_unmasked             $22 = two
352mul_float                      $21 *= $22
353copy_slot_masked               b.f2₁ = Mask($21)
354copy_slot_unmasked             $21 = F44
355copy_slot_masked               b.f3₁ = Mask($21)
356store_condition_mask           $33 = CondMask
357copy_slot_unmasked             $34 = eq₁
358copy_slot_unmasked             $21 = a.f1359copy_slot_unmasked             $22 = b.f1360cmpne_float                    $21 = notEqual($21, $22)
361copy_slot_unmasked             $22 = a.f2362copy_slot_unmasked             $23 = b.f2363cmpne_float                    $22 = notEqual($22, $23)
364copy_slot_unmasked             $23 = a.f3365copy_slot_unmasked             $24 = b.f3366cmpne_float                    $23 = notEqual($23, $24)
367bitwise_or_int                 $22 |= $23
368bitwise_or_int                 $21 |= $22
369merge_condition_mask           CondMask = $33 & $34
370branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 18 at #377)
371copy_slot_unmasked             $22 = a.f1372copy_slot_unmasked             $23 = b.f1373cmpeq_float                    $22 = equal($22, $23)
374copy_slot_unmasked             $23 = a.f2375copy_slot_unmasked             $24 = b.f2376cmpeq_float                    $23 = equal($23, $24)
377copy_slot_unmasked             $24 = a.f3378copy_slot_unmasked             $25 = b.f3379cmpeq_float                    $24 = equal($24, $25)
380bitwise_and_int                $23 &= $24
381bitwise_and_int                $22 &= $23
382copy_slot_masked               $21 = Mask($22)
383label                          label 0x00000012
384load_condition_mask            CondMask = $33
385label                          label 0x00000011
386bitwise_xor_imm_int            $21 ^= 0xFFFFFFFF
387copy_slot_masked               $20 = Mask($21)
388label                          label 0x00000003
389load_condition_mask            CondMask = $26
390copy_constant                  $13 = 0
391merge_condition_mask           CondMask = $19 & $20
392branch_if_no_lanes_active      branch_if_no_lanes_active +54 (label 2 at #440)
393copy_constant                  eq₁ = 0
394copy_uniform                   $14 = colorGreen(0)
395add_imm_float                  $14 += 0x40000000 (2.0)
396copy_slot_unmasked             two = $14
397splat_3_constants              a.f1₁, a.f2₁, a.f3₁ = 0
398copy_slot_unmasked             $14 = NAN1
399copy_slot_masked               a.f1₁ = Mask($14)
400copy_slot_unmasked             $14 = ZM
401copy_slot_masked               a.f2₁ = Mask($14)
402copy_slot_unmasked             $14 = ZP
403copy_slot_masked               a.f3₁ = Mask($14)
404splat_3_constants              b.f1₁, b.f2₁, b.f3₁ = 0
405copy_slot_unmasked             $14 = NAN1
406copy_slot_unmasked             $15 = two
407mul_float                      $14 *= $15
408copy_slot_masked               b.f1₁ = Mask($14)
409copy_slot_unmasked             $14 = ZM
410copy_slot_unmasked             $15 = two
411mul_float                      $14 *= $15
412copy_slot_masked               b.f2₁ = Mask($14)
413copy_slot_unmasked             $14 = ZP
414copy_slot_masked               b.f3₁ = Mask($14)
415store_condition_mask           $26 = CondMask
416copy_slot_unmasked             $27 = eq₁
417copy_slot_unmasked             $14 = a.f1418copy_slot_unmasked             $15 = b.f1419cmpne_float                    $14 = notEqual($14, $15)
420copy_slot_unmasked             $15 = a.f2421copy_slot_unmasked             $16 = b.f2422cmpne_float                    $15 = notEqual($15, $16)
423copy_slot_unmasked             $16 = a.f3424copy_slot_unmasked             $17 = b.f3425cmpne_float                    $16 = notEqual($16, $17)
426bitwise_or_int                 $15 |= $16
427bitwise_or_int                 $14 |= $15
428merge_condition_mask           CondMask = $26 & $27
429branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 20 at #436)
430copy_slot_unmasked             $15 = a.f1431copy_slot_unmasked             $16 = b.f1432cmpeq_float                    $15 = equal($15, $16)
433copy_slot_unmasked             $16 = a.f2434copy_slot_unmasked             $17 = b.f2435cmpeq_float                    $16 = equal($16, $17)
436copy_slot_unmasked             $17 = a.f3437copy_slot_unmasked             $18 = b.f3438cmpeq_float                    $17 = equal($17, $18)
439bitwise_and_int                $16 &= $17
440bitwise_and_int                $15 &= $16
441copy_slot_masked               $14 = Mask($15)
442label                          label 0x00000014
443load_condition_mask            CondMask = $26
444label                          label 0x00000013
445copy_slot_masked               $13 = Mask($14)
446label                          label 0x00000002
447load_condition_mask            CondMask = $19
448copy_constant                  $0 = 0
449merge_condition_mask           CondMask = $12 & $13
450branch_if_no_lanes_active      branch_if_no_lanes_active +55 (label 1 at #499)
451copy_constant                  eq₁ = 0xFFFFFFFF
452copy_uniform                   $1 = colorGreen(0)
453add_imm_float                  $1 += 0x40000000 (2.0)
454copy_slot_unmasked             two = $1
455splat_3_constants              a.f1₁, a.f2₁, a.f3₁ = 0
456copy_slot_unmasked             $1 = NAN1
457copy_slot_masked               a.f1₁ = Mask($1)
458copy_slot_unmasked             $1 = ZM
459copy_slot_masked               a.f2₁ = Mask($1)
460copy_slot_unmasked             $1 = ZP
461copy_slot_masked               a.f3₁ = Mask($1)
462splat_3_constants              b.f1₁, b.f2₁, b.f3₁ = 0
463copy_slot_unmasked             $1 = NAN1
464copy_slot_unmasked             $2 = two
465mul_float                      $1 *= $2
466copy_slot_masked               b.f1₁ = Mask($1)
467copy_slot_unmasked             $1 = ZM
468copy_slot_unmasked             $2 = two
469mul_float                      $1 *= $2
470copy_slot_masked               b.f2₁ = Mask($1)
471copy_slot_unmasked             $1 = ZP
472copy_slot_masked               b.f3₁ = Mask($1)
473store_condition_mask           $19 = CondMask
474copy_slot_unmasked             $20 = eq₁
475copy_slot_unmasked             $1 = a.f1476copy_slot_unmasked             $2 = b.f1477cmpne_float                    $1 = notEqual($1, $2)
478copy_slot_unmasked             $2 = a.f2479copy_slot_unmasked             $3 = b.f2480cmpne_float                    $2 = notEqual($2, $3)
481copy_slot_unmasked             $3 = a.f3482copy_slot_unmasked             $4 = b.f3483cmpne_float                    $3 = notEqual($3, $4)
484bitwise_or_int                 $2 |= $3
485bitwise_or_int                 $1 |= $2
486merge_condition_mask           CondMask = $19 & $20
487branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 22 at #494)
488copy_slot_unmasked             $2 = a.f1489copy_slot_unmasked             $3 = b.f1490cmpeq_float                    $2 = equal($2, $3)
491copy_slot_unmasked             $3 = a.f2492copy_slot_unmasked             $4 = b.f2493cmpeq_float                    $3 = equal($3, $4)
494copy_slot_unmasked             $4 = a.f3495copy_slot_unmasked             $5 = b.f3496cmpeq_float                    $4 = equal($4, $5)
497bitwise_and_int                $3 &= $4
498bitwise_and_int                $2 &= $3
499copy_slot_masked               $1 = Mask($2)
500label                          label 0x00000016
501load_condition_mask            CondMask = $19
502label                          label 0x00000015
503bitwise_xor_imm_int            $1 ^= 0xFFFFFFFF
504copy_slot_masked               $0 = Mask($1)
505label                          label 0x00000001
506load_condition_mask            CondMask = $12
507swizzle_4                      $0..3 = ($0..3).xxxx
508stack_rewind
509copy_4_uniforms                $4..7 = colorRed
510copy_4_uniforms                $8..11 = colorGreen
511mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
512load_src                       src.rgba = $0..3
513