xref: /aosp_15_r20/external/skia/tests/sksl/folding/PreserveSideEffects.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker397 instructions
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots]
4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x3F800000 (1.0)
5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0
6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x3F800000 (1.0)
7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0
8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0
9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x3F800000 (1.0)
10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x40000000 (2.0)
11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0x40400000 (3.0)
12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x40800000 (4.0)
13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x40800000 (4.0)
14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0x40A00000 (5.0)
15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0x40C00000 (6.0)
16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x41500000 (13.0)
17*c8dee2aaSAndroid Build Coastguard Workeri13 = 0x41600000 (14.0)
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg                   coords = src.rg
20*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks                CondMask = LoopMask = RetMask = true
21*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  _0_ok = 0xFFFFFFFF
22*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  _1_num = 0
23*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
24*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
25*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
26*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
27*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +8 (label 0 at #17)
28*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = _1_num
29*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $1 += 0x3F800000 (1.0)
30*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($1)
31*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0
32*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = $2
33*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $1 = equal($1, 0)
34*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
35*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0
36*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
37*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
38*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
39*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
40*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
41*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
42*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 1 at #31)
43*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
44*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $2 = _1_num
45*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $2 += 0x3F800000 (1.0)
46*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($2)
47*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $1 = equal($1, 0)
48*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
49*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000001
50*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
51*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
52*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
53*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
54*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
55*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
56*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +11 (label 2 at #49)
57*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = _1_num
58*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $1 += 0x3F800000 (1.0)
59*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($1)
60*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0x3F800000 (1.0)
61*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $3 = 0
62*c8dee2aaSAndroid Build Coastguard Workerswizzle_2                      $1..2 = ($1..3).yz
63*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $3..4 = i0..1 [0x3F800000 (1.0), 0]
64*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $1..2 = equal($1..2, $3..4)
65*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
66*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
67*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000002
68*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
69*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
70*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
71*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
72*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
73*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
74*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +10 (label 3 at #66)
75*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0x3F800000 (1.0)
76*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0
77*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $3 = _1_num
78*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $3 += 0x3F800000 (1.0)
79*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($3)
80*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $3..4 = i0..1 [0x3F800000 (1.0), 0]
81*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $1..2 = equal($1..2, $3..4)
82*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
83*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
84*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000003
85*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
86*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
87*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
88*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
89*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
90*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
91*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +11 (label 4 at #84)
92*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = _1_num
93*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $1 += 0x3F800000 (1.0)
94*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($1)
95*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0x3F800000 (1.0)
96*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $3 = 0
97*c8dee2aaSAndroid Build Coastguard Workerswizzle_2                      $1..2 = ($1..3).yz
98*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $3..4 = i0..1 [0x3F800000 (1.0), 0]
99*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $1..2 = equal($1..2, $3..4)
100*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
101*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
102*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000004
103*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
104*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
105*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
106*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
107*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
108*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
109*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 5 at #103)
110*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = _1_num
111*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $1 += 0x3F800000 (1.0)
112*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($1)
113*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0x3F800000 (1.0)
114*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $3..4 = 0
115*c8dee2aaSAndroid Build Coastguard Workerswizzle_3                      $1..3 = ($1..4).yzw
116*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $4..6 = i2..4 [0x3F800000 (1.0), 0, 0]
117*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $1..3 = equal($1..3, $4..6)
118*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
119*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
120*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
121*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000005
122*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
123*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
124*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
125*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
126*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
127*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
128*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 6 at #117)
129*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0x3F800000 (1.0)
130*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $2 = _1_num
131*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $2 += 0x3F800000 (1.0)
132*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($2)
133*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
134*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
135*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000006
136*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
137*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
138*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
139*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
140*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
141*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
142*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +10 (label 7 at #134)
143*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0x3F800000 (1.0)
144*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0
145*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $3 = _1_num
146*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $3 += 0x3F800000 (1.0)
147*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($3)
148*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $4 = 0x3F800000 (1.0)
149*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = $4
150*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
151*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
152*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000007
153*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
154*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
155*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
156*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $13 = _0_ok
157*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
158*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
159*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 8 at #153)
160*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0x3F800000 (1.0)
161*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0
162*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $3 = 0x3F800000 (1.0)
163*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $4 = _1_num
164*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $4 += 0x3F800000 (1.0)
165*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               _1_num = Mask($4)
166*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $4..6 = i0..2 [0x3F800000 (1.0), 0, 0x3F800000 (1.0)]
167*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $1..3 = equal($1..3, $4..6)
168*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
169*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
170*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
171*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000008
172*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
173*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             _0_ok = $0
174*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $12 = CondMask
175*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $13..14 = _0_ok, _1_num
176*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $14 = equal($14, 0x41100000 (9.0))
177*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $13 &= $14
178*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
179*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $12 & $13
180*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +251 (label 10 at #413)
181*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  ok = 0xFFFFFFFF
182*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  num = 0
183*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
184*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
185*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
186*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
187*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 12 at #181)
188*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $17 = 0x3F800000 (1.0)
189*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $18 = 0x40000000 (2.0)
190*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0x40400000 (3.0)
191*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $20 = num
192*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $20 += 0x3F800000 (1.0)
193*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($20)
194*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $2..3 = $17..18
195*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $4..5 = i5..6 [0x3F800000 (1.0), 0x40000000 (2.0)]
196*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $2..3 = equal($2..3, $4..5)
197*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
198*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
199*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000C
200*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
201*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
202*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
203*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
204*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
205*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
206*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 13 at #200)
207*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $17 = num
208*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $17 += 0x3F800000 (1.0)
209*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($17)
210*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $18 = $17
211*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0x40400000 (3.0)
212*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $20 = 0x40800000 (4.0)
213*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $2..3 = $19..20
214*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $4..5 = i7..8 [0x40400000 (3.0), 0x40800000 (4.0)]
215*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $2..3 = equal($2..3, $4..5)
216*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
217*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
218*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000D
219*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
220*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
221*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
222*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
223*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
224*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
225*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 14 at #220)
226*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $17..19 = 0x3F800000 (1.0)
227*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $20 = num
228*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $20 += 0x3F800000 (1.0)
229*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($20)
230*c8dee2aaSAndroid Build Coastguard Workerswizzle_3                      $20..22 = ($20..22).xxx
231*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $23..25 = 0
232*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $2..4 = $17..19
233*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $5..7 = 0x3F800000 (1.0)
234*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $2..4 = equal($2..4, $5..7)
235*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $3 &= $4
236*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
237*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
238*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000E
239*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
240*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
241*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
242*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
243*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
244*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
245*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 15 at #240)
246*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $17..19 = 0x3F800000 (1.0)
247*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $20 = num
248*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $20 += 0x3F800000 (1.0)
249*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($20)
250*c8dee2aaSAndroid Build Coastguard Workerswizzle_3                      $20..22 = ($20..22).xxx
251*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $23..25 = 0
252*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $2..4 = $23..25
253*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $5..7 = 0
254*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $2..4 = equal($2..4, $5..7)
255*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $3 &= $4
256*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
257*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
258*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000F
259*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
260*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
261*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
262*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
263*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
264*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
265*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 16 at #260)
266*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $17 = num
267*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $17 += 0x3F800000 (1.0)
268*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($17)
269*c8dee2aaSAndroid Build Coastguard Workerswizzle_3                      $17..19 = ($17..19).xxx
270*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $20..22 = 0x3F800000 (1.0)
271*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $23..25 = 0
272*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $2..4 = $20..22
273*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $5..7 = 0x3F800000 (1.0)
274*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $2..4 = equal($2..4, $5..7)
275*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $3 &= $4
276*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
277*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
278*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000010
279*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
280*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
281*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
282*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
283*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
284*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
285*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 17 at #285)
286*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $17 = 0x3F800000 (1.0)
287*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $18 = 0x40000000 (2.0)
288*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0x40400000 (3.0)
289*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $20 = 0x40800000 (4.0)
290*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $21 = 0x40A00000 (5.0)
291*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $22 = num
292*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $22 += 0x3F800000 (1.0)
293*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($22)
294*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $23 = 0x40E00000 (7.0)
295*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $24 = 0x41000000 (8.0)
296*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $25 = 0x41100000 (9.0)
297*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $2..4 = $17..19
298*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $5..7 = i5..7 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)]
299*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $2..4 = equal($2..4, $5..7)
300*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $3 &= $4
301*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
302*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
303*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000011
304*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
305*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
306*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
307*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
308*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
309*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
310*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +19 (label 18 at #311)
311*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $17 = 0x3F800000 (1.0)
312*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $18 = 0x40000000 (2.0)
313*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0x40400000 (3.0)
314*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $20 = 0x40800000 (4.0)
315*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $21 = 0x40A00000 (5.0)
316*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $22 = 0x40C00000 (6.0)
317*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $23 = num
318*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $24 = $23
319*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $24 += 0x3F800000 (1.0)
320*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($24)
321*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $24 = 0x41000000 (8.0)
322*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $25 = 0x41100000 (9.0)
323*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $2..4 = $20..22
324*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $5..7 = i9..11 [0x40800000 (4.0), 0x40A00000 (5.0), 0x40C00000 (6.0)]
325*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $2..4 = equal($2..4, $5..7)
326*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $3 &= $4
327*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
328*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
329*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000012
330*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
331*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
332*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
333*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
334*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
335*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
336*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 19 at #332)
337*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $17 = num
338*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $17 += 0x3F800000 (1.0)
339*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($17)
340*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $17..20 = ($17..20).xxxx
341*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $21..24 = 0x3F800000 (1.0)
342*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $25..28 = 0x40000000 (2.0)
343*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $29..32 = 0x40400000 (3.0)
344*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $2..5 = $21..24
345*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $6..9 = 0x3F800000 (1.0)
346*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $2..5 = equal($2..5, $6..9)
347*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $2..3 &= $4..5
348*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
349*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
350*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000013
351*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
352*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
353*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
354*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
355*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
356*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
357*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 20 at #353)
358*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $17..20 = 0x3F800000 (1.0)
359*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $21 = num
360*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $21 += 0x3F800000 (1.0)
361*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($21)
362*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $21..24 = ($21..24).xxxx
363*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $25..28 = 0x40000000 (2.0)
364*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $29..32 = 0x40400000 (3.0)
365*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $2..5 = $25..28
366*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $6..9 = 0x40000000 (2.0)
367*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $2..5 = equal($2..5, $6..9)
368*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $2..3 &= $4..5
369*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
370*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
371*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000014
372*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
373*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
374*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
375*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
376*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
377*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
378*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 21 at #374)
379*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $17..20 = 0x3F800000 (1.0)
380*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $21..24 = 0x3F800000 (1.0)
381*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $25 = num
382*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $25 += 0x3F800000 (1.0)
383*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($25)
384*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $25..28 = ($25..28).xxxx
385*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $29..32 = 0x40400000 (3.0)
386*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $2..5 = $29..32
387*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $6..9 = 0x40400000 (3.0)
388*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $2..5 = equal($2..5, $6..9)
389*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $2..3 &= $4..5
390*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
391*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
392*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000015
393*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
394*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
395*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $15 = CondMask
396*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $16 = ok
397*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
398*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $15 & $16
399*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 22 at #405)
400*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $17 = 0x3F800000 (1.0)
401*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $18 = 0x40000000 (2.0)
402*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0x40400000 (3.0)
403*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $20 = 0x40800000 (4.0)
404*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $21 = 0x40A00000 (5.0)
405*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $22 = 0x40C00000 (6.0)
406*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $23 = 0x40E00000 (7.0)
407*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $24 = 0x41000000 (8.0)
408*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $25 = 0x41100000 (9.0)
409*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $26 = 0x41200000 (10.0)
410*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $27 = 0x41300000 (11.0)
411*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $28 = 0x41400000 (12.0)
412*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $29 = 0x41500000 (13.0)
413*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $30 = 0x41600000 (14.0)
414*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $31 = num
415*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float                  $31 += 0x3F800000 (1.0)
416*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               num = Mask($31)
417*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $32 = 0x41800000 (16.0)
418*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $2..5 = $29..32
419*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $4..5 = i12..13 [0x41500000 (13.0), 0x41600000 (14.0)]
420*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $2..3 = equal($2..3, $4..5)
421*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
422*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
423*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000016
424*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $15
425*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               ok = Mask($1)
426*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $2 = num
427*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $2 = equal($2, 0x41300000 (11.0))
428*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $1 &= $2
429*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000B
430*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
431*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000A
432*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $12
433*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $0..3 = ($0..3).xxxx
434*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $4..7 = colorRed
435*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $8..11 = colorGreen
436*c8dee2aaSAndroid Build Coastguard Workermix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
437*c8dee2aaSAndroid Build Coastguard Workerload_src                       src.rgba = $0..3
438