xref: /aosp_15_r20/external/skia/tests/sksl/folding/MatrixVectorNoOpFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker447 instructions
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots]
4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0xBF800000 (-1.0)
5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0xBF800000 (-1.0)
6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x3F800000 (1.0)
7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x3F800000 (1.0)
8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0
9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0
10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x40400000 (3.0)
11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0x40E00000 (7.0)
12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x40800000 (4.0)
13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x40C00000 (6.0)
14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0xC0400000 (-3.0)
15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0xC0E00000 (-7.0)
16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0xC0800000 (-4.0)
17*c8dee2aaSAndroid Build Coastguard Workeri13 = 0xC0C00000 (-6.0)
18*c8dee2aaSAndroid Build Coastguard Workeri14 = 0xBF800000 (-1.0)
19*c8dee2aaSAndroid Build Coastguard Workeri15 = 0xBF800000 (-1.0)
20*c8dee2aaSAndroid Build Coastguard Workeri16 = 0xBF800000 (-1.0)
21*c8dee2aaSAndroid Build Coastguard Workeri17 = 0x3F800000 (1.0)
22*c8dee2aaSAndroid Build Coastguard Workeri18 = 0x3F800000 (1.0)
23*c8dee2aaSAndroid Build Coastguard Workeri19 = 0x3F800000 (1.0)
24*c8dee2aaSAndroid Build Coastguard Workeri20 = 0
25*c8dee2aaSAndroid Build Coastguard Workeri21 = 0
26*c8dee2aaSAndroid Build Coastguard Workeri22 = 0
27*c8dee2aaSAndroid Build Coastguard Workeri23 = 0x40C00000 (6.0)
28*c8dee2aaSAndroid Build Coastguard Workeri24 = 0x41700000 (15.0)
29*c8dee2aaSAndroid Build Coastguard Workeri25 = 0x41C00000 (24.0)
30*c8dee2aaSAndroid Build Coastguard Workeri26 = 0x41400000 (12.0)
31*c8dee2aaSAndroid Build Coastguard Workeri27 = 0x41700000 (15.0)
32*c8dee2aaSAndroid Build Coastguard Workeri28 = 0x41900000 (18.0)
33*c8dee2aaSAndroid Build Coastguard Workeri29 = 0xC0C00000 (-6.0)
34*c8dee2aaSAndroid Build Coastguard Workeri30 = 0xC1700000 (-15.0)
35*c8dee2aaSAndroid Build Coastguard Workeri31 = 0xC1C00000 (-24.0)
36*c8dee2aaSAndroid Build Coastguard Workeri32 = 0xC1400000 (-12.0)
37*c8dee2aaSAndroid Build Coastguard Workeri33 = 0xC1700000 (-15.0)
38*c8dee2aaSAndroid Build Coastguard Workeri34 = 0xC1900000 (-18.0)
39*c8dee2aaSAndroid Build Coastguard Workeri35 = 0xBF800000 (-1.0)
40*c8dee2aaSAndroid Build Coastguard Workeri36 = 0xBF800000 (-1.0)
41*c8dee2aaSAndroid Build Coastguard Workeri37 = 0xBF800000 (-1.0)
42*c8dee2aaSAndroid Build Coastguard Workeri38 = 0xBF800000 (-1.0)
43*c8dee2aaSAndroid Build Coastguard Workeri39 = 0x3F800000 (1.0)
44*c8dee2aaSAndroid Build Coastguard Workeri40 = 0x3F800000 (1.0)
45*c8dee2aaSAndroid Build Coastguard Workeri41 = 0x3F800000 (1.0)
46*c8dee2aaSAndroid Build Coastguard Workeri42 = 0x3F800000 (1.0)
47*c8dee2aaSAndroid Build Coastguard Workeri43 = 0
48*c8dee2aaSAndroid Build Coastguard Workeri44 = 0
49*c8dee2aaSAndroid Build Coastguard Workeri45 = 0
50*c8dee2aaSAndroid Build Coastguard Workeri46 = 0
51*c8dee2aaSAndroid Build Coastguard Workeri47 = 0x40800000 (4.0)
52*c8dee2aaSAndroid Build Coastguard Workeri48 = 0x41000000 (8.0)
53*c8dee2aaSAndroid Build Coastguard Workeri49 = 0x41400000 (12.0)
54*c8dee2aaSAndroid Build Coastguard Workeri50 = 0x41800000 (16.0)
55*c8dee2aaSAndroid Build Coastguard Workeri51 = 0xC0800000 (-4.0)
56*c8dee2aaSAndroid Build Coastguard Workeri52 = 0xC1000000 (-8.0)
57*c8dee2aaSAndroid Build Coastguard Workeri53 = 0xC1400000 (-12.0)
58*c8dee2aaSAndroid Build Coastguard Workeri54 = 0xC1800000 (-16.0)
59*c8dee2aaSAndroid Build Coastguard Worker
60*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg                   coords = src.rg
61*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks                CondMask = LoopMask = RetMask = true
62*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $26 = CondMask
63*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $44 = CondMask
64*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $55 = CondMask
65*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $71 = CondMask
66*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $84 = CondMask
67*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +56 (label 6 at #64)
68*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $85 = RetMask
69*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v, vv = 0
70*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $86..87 = testInputs(0..1)
71*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v = Mask($86..87)
72*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $86..87 = testInputs(0..1)
73*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v = Mask($86..87)
74*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $86 = CondMask
75*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $87..88 = v
76*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $89..90 = testInputs(0..1)
77*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $87..88 = notEqual($87..88, $89..90)
78*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $87 |= $88
79*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $86 & $87
80*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $88 = 0
81*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat2_X_vec2].result = Mask($88)
82*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
83*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $86
84*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $87..88 = v
85*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $89..90 = testInputs(0..1)
86*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $87..88 = notEqual($87..88, $89..90)
87*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $87 |= $88
88*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $86 & $87
89*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $88 = 0
90*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat2_X_vec2].result = Mask($88)
91*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
92*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $86
93*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $86..87 = testInputs(0..1)
94*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $86 ^= 0x80000000
95*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $87 ^= 0x80000000
96*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v = Mask($86..87)
97*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $86..87 = testInputs(0..1)
98*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $86 ^= 0x80000000
99*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $87 ^= 0x80000000
100*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v = Mask($86..87)
101*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $86 = CondMask
102*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $87..88 = v
103*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $89..90 = testInputs(0..1)
104*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $89 ^= 0x80000000
105*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int            $90 ^= 0x80000000
106*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $87..88 = notEqual($87..88, $89..90)
107*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $87 |= $88
108*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $86 & $87
109*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $88 = 0
110*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat2_X_vec2].result = Mask($88)
111*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
112*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $86
113*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $86..87 = 0
114*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            vv = Mask($86..87)
115*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $86..87 = 0
116*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            vv = Mask($86..87)
117*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $86 = equal($86, 0)
118*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $87 = equal($87, 0)
119*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $86 &= $87
120*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat2_X_vec2].result = Mask($86)
121*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $85
122*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $85 = [test_no_op_mat2_X_vec2].result
123*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000006
124*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $72 = 0
125*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $84 & $85
126*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +63 (label 5 at #130)
127*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $73 = RetMask
128*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v₁, vv₁(0) = 0
129*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              vv₁(1..2) = 0
130*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $74..76 = testInputs(0..2)
131*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₁ = Mask($74..76)
132*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $74..76 = testInputs(0..2)
133*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₁ = Mask($74..76)
134*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $74 = CondMask
135*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $75..77 = v₁
136*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $78..80 = testInputs(0..2)
137*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $75..77 = notEqual($75..77, $78..80)
138*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $76 |= $77
139*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $75 |= $76
140*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $74 & $75
141*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $76 = 0
142*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat3_X_vec3].result = Mask($76)
143*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
144*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $74
145*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $75..77 = v₁
146*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $78..80 = testInputs(0..2)
147*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $75..77 = notEqual($75..77, $78..80)
148*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $76 |= $77
149*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $75 |= $76
150*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $74 & $75
151*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $76 = 0
152*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat3_X_vec3].result = Mask($76)
153*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
154*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $74
155*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $74..76 = testInputs(0..2)
156*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $77..79 = 0x80000000 (-0.0)
157*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_3_ints             $74..76 ^= $77..79
158*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₁ = Mask($74..76)
159*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $74..76 = testInputs(0..2)
160*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $77..79 = 0x80000000 (-0.0)
161*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_3_ints             $74..76 ^= $77..79
162*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₁ = Mask($74..76)
163*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $74 = CondMask
164*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $75..77 = v₁
165*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $78..80 = testInputs(0..2)
166*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $81..83 = 0x80000000 (-0.0)
167*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_3_ints             $78..80 ^= $81..83
168*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $75..77 = notEqual($75..77, $78..80)
169*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $76 |= $77
170*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $75 |= $76
171*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $74 & $75
172*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $76 = 0
173*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat3_X_vec3].result = Mask($76)
174*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
175*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $74
176*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $74..76 = 0
177*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            vv₁ = Mask($74..76)
178*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $74..76 = 0
179*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            vv₁ = Mask($74..76)
180*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $77..79 = 0
181*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $74..76 = equal($74..76, $77..79)
182*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $75 &= $76
183*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $74 &= $75
184*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat3_X_vec3].result = Mask($74)
185*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $73
186*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $73 = [test_no_op_mat3_X_vec3].result
187*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000007
188*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $72 = Mask($73)
189*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000005
190*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $84
191*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $56 = 0
192*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $71 & $72
193*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +63 (label 4 at #197)
194*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $57 = RetMask
195*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v₂ = 0
196*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              vv₂ = 0
197*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $58..61 = testInputs
198*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₂ = Mask($58..61)
199*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $58..61 = testInputs
200*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₂ = Mask($58..61)
201*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $58 = CondMask
202*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $59..62 = v₂
203*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $63..66 = testInputs
204*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $59..62 = notEqual($59..62, $63..66)
205*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $59..60 |= $61..62
206*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $59 |= $60
207*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $58 & $59
208*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $60 = 0
209*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat4_X_vec4].result = Mask($60)
210*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
211*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $58
212*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $59..62 = v₂
213*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $63..66 = testInputs
214*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $59..62 = notEqual($59..62, $63..66)
215*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $59..60 |= $61..62
216*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $59 |= $60
217*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $58 & $59
218*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $60 = 0
219*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat4_X_vec4].result = Mask($60)
220*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
221*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $58
222*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $58..61 = testInputs
223*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $62..65 = 0x80000000 (-0.0)
224*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_4_ints             $58..61 ^= $62..65
225*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₂ = Mask($58..61)
226*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $58..61 = testInputs
227*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $62..65 = 0x80000000 (-0.0)
228*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_4_ints             $58..61 ^= $62..65
229*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₂ = Mask($58..61)
230*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $58 = CondMask
231*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $59..62 = v₂
232*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $63..66 = testInputs
233*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $67..70 = 0x80000000 (-0.0)
234*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_4_ints             $63..66 ^= $67..70
235*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $59..62 = notEqual($59..62, $63..66)
236*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $59..60 |= $61..62
237*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $59 |= $60
238*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $58 & $59
239*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $60 = 0
240*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat4_X_vec4].result = Mask($60)
241*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
242*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $58
243*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $58..61 = 0
244*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            vv₂ = Mask($58..61)
245*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $58..61 = 0
246*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            vv₂ = Mask($58..61)
247*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $62..65 = 0
248*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $58..61 = equal($58..61, $62..65)
249*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $58..59 &= $60..61
250*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $58 &= $59
251*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_mat4_X_vec4].result = Mask($58)
252*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $57
253*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $57 = [test_no_op_mat4_X_vec4].result
254*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000008
255*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $56 = Mask($57)
256*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000004
257*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $71
258*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $45 = 0
259*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $55 & $56
260*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +69 (label 3 at #270)
261*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $46 = RetMask
262*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v₃, vv₃ = 0
263*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $47..48 = 0
264*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            vv₃ = Mask($47..48)
265*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $47 = CondMask
266*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $48..49 = vv₃
267*c8dee2aaSAndroid Build Coastguard Workercmpne_imm_float                $48 = notEqual($48, 0)
268*c8dee2aaSAndroid Build Coastguard Workercmpne_imm_float                $49 = notEqual($49, 0)
269*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $48 |= $49
270*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $47 & $48
271*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $49 = 0
272*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec2_X_mat2].result = Mask($49)
273*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
274*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $47
275*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $49..50 = 0x3F800000 (1.0)
276*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $51..54 = testMatrix2x2
277*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_2              mat2x1($47..48) = mat2x1($49..50) * mat2x2($51..54)
278*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v₃ = Mask($47..48)
279*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $47 = CondMask
280*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $48..49 = v₃
281*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $50..51 = i6..7 [0x40400000 (3.0), 0x40E00000 (7.0)]
282*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $48..49 = notEqual($48..49, $50..51)
283*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $48 |= $49
284*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $47 & $48
285*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $49 = 0
286*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec2_X_mat2].result = Mask($49)
287*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
288*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $47
289*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $49..52 = testMatrix2x2
290*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $53..54 = 0x3F800000 (1.0)
291*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_2              mat1x2($47..48) = mat2x2($49..52) * mat1x2($53..54)
292*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v₃ = Mask($47..48)
293*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $47 = CondMask
294*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $48..49 = v₃
295*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $50..51 = i8..9 [0x40800000 (4.0), 0x40C00000 (6.0)]
296*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $48..49 = notEqual($48..49, $50..51)
297*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $48 |= $49
298*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $47 & $48
299*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $49 = 0
300*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec2_X_mat2].result = Mask($49)
301*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
302*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $47
303*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $49..50 = 0xBF800000 (-1.0)
304*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $51..54 = testMatrix2x2
305*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_2              mat2x1($47..48) = mat2x1($49..50) * mat2x2($51..54)
306*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v₃ = Mask($47..48)
307*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $47 = CondMask
308*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $48..49 = v₃
309*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $50..51 = i10..11 [0xC0400000 (-3.0), 0xC0E00000 (-7.0)]
310*c8dee2aaSAndroid Build Coastguard Workercmpne_2_floats                 $48..49 = notEqual($48..49, $50..51)
311*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $48 |= $49
312*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $47 & $48
313*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $49 = 0
314*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec2_X_mat2].result = Mask($49)
315*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
316*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $47
317*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $49..52 = testMatrix2x2
318*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              $53..54 = 0xBF800000 (-1.0)
319*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_2              mat1x2($47..48) = mat2x2($49..52) * mat1x2($53..54)
320*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            v₃ = Mask($47..48)
321*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $49..50 = i12..13 [0xC0800000 (-4.0), 0xC0C00000 (-6.0)]
322*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $47..48 = equal($47..48, $49..50)
323*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $47 &= $48
324*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec2_X_mat2].result = Mask($47)
325*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $46
326*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $46 = [test_no_op_vec2_X_mat2].result
327*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000009
328*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $45 = Mask($46)
329*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000003
330*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $55
331*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $27 = 0
332*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $44 & $45
333*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +83 (label 2 at #357)
334*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $28 = RetMask
335*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v₄, vv₄(0) = 0
336*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              vv₄(1..2) = 0
337*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $29..31 = 0
338*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            vv₄ = Mask($29..31)
339*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $29 = CondMask
340*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $30..32 = vv₄
341*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $33..35 = 0
342*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $30..32 = notEqual($30..32, $33..35)
343*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $31 |= $32
344*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $30 |= $31
345*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $29 & $30
346*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $31 = 0
347*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec3_X_mat3].result = Mask($31)
348*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
349*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $29
350*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $32..34 = 0x3F800000 (1.0)
351*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $35..38 = testMatrix3x3(0..3)
352*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $39..42 = testMatrix3x3(4..7)
353*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $43 = testMatrix3x3(8)
354*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_3              mat3x1($29..31) = mat3x1($32..34) * mat3x3($35..43)
355*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₄ = Mask($29..31)
356*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $29 = CondMask
357*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $30..32 = v₄
358*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $33..35 = i23..25 [0x40C00000 (6.0), 0x41700000 (15.0), 0x41C00000 (24.0)]
359*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $30..32 = notEqual($30..32, $33..35)
360*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $31 |= $32
361*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $30 |= $31
362*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $29 & $30
363*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $31 = 0
364*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec3_X_mat3].result = Mask($31)
365*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
366*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $29
367*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $32..35 = testMatrix3x3(0..3)
368*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $36..39 = testMatrix3x3(4..7)
369*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $40 = testMatrix3x3(8)
370*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $41..43 = 0x3F800000 (1.0)
371*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_3              mat1x3($29..31) = mat3x3($32..40) * mat1x3($41..43)
372*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₄ = Mask($29..31)
373*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $29 = CondMask
374*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $30..32 = v₄
375*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $33..35 = i26..28 [0x41400000 (12.0), 0x41700000 (15.0), 0x41900000 (18.0)]
376*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $30..32 = notEqual($30..32, $33..35)
377*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $31 |= $32
378*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $30 |= $31
379*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $29 & $30
380*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $31 = 0
381*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec3_X_mat3].result = Mask($31)
382*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
383*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $29
384*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $32..34 = 0xBF800000 (-1.0)
385*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $35..38 = testMatrix3x3(0..3)
386*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $39..42 = testMatrix3x3(4..7)
387*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $43 = testMatrix3x3(8)
388*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_3              mat3x1($29..31) = mat3x1($32..34) * mat3x3($35..43)
389*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₄ = Mask($29..31)
390*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $29 = CondMask
391*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $30..32 = v₄
392*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $33..35 = i29..31 [0xC0C00000 (-6.0), 0xC1700000 (-15.0), 0xC1C00000 (-24.0)]
393*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats                 $30..32 = notEqual($30..32, $33..35)
394*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $31 |= $32
395*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $30 |= $31
396*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $29 & $30
397*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $31 = 0
398*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec3_X_mat3].result = Mask($31)
399*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
400*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $29
401*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $32..35 = testMatrix3x3(0..3)
402*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $36..39 = testMatrix3x3(4..7)
403*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $40 = testMatrix3x3(8)
404*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              $41..43 = 0xBF800000 (-1.0)
405*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_3              mat1x3($29..31) = mat3x3($32..40) * mat1x3($41..43)
406*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked            v₄ = Mask($29..31)
407*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $32..34 = i32..34 [0xC1400000 (-12.0), 0xC1700000 (-15.0), 0xC1900000 (-18.0)]
408*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $29..31 = equal($29..31, $32..34)
409*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $30 &= $31
410*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $29 &= $30
411*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec3_X_mat3].result = Mask($29)
412*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $28
413*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $28 = [test_no_op_vec3_X_mat3].result
414*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000A
415*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $27 = Mask($28)
416*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000002
417*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $44
418*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
419*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $26 & $27
420*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +91 (label 1 at #452)
421*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask              $1 = RetMask
422*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                testMatrix4x4(0..3) = testMatrix2x2
423*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                testMatrix4x4(4..7) = testMatrix2x2
424*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                testMatrix4x4(8..11) = testMatrix2x2
425*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                testMatrix4x4(12..15) = testMatrix2x2
426*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              v₅ = 0
427*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              vv₅ = 0
428*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $2..5 = 0
429*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            vv₅ = Mask($2..5)
430*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $2 = CondMask
431*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $3..6 = vv₅
432*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $7..10 = 0
433*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $3..6 = notEqual($3..6, $7..10)
434*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $3..4 |= $5..6
435*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $3 |= $4
436*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $2 & $3
437*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $4 = 0
438*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec4_X_mat4].result = Mask($4)
439*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
440*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $2
441*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $6..9 = 0x3F800000 (1.0)
442*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $10..13 = testMatrix4x4(0..3)
443*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $14..17 = testMatrix4x4(4..7)
444*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $18..21 = testMatrix4x4(8..11)
445*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $22..25 = testMatrix4x4(12..15)
446*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_4              mat4x1($2..5) = mat4x1($6..9) * mat4x4($10..25)
447*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₅ = Mask($2..5)
448*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $2 = CondMask
449*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $3..6 = v₅
450*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $7..10 = 0x41200000 (10.0)
451*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $3..6 = notEqual($3..6, $7..10)
452*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $3..4 |= $5..6
453*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $3 |= $4
454*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $2 & $3
455*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $4 = 0
456*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec4_X_mat4].result = Mask($4)
457*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
458*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $2
459*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $6..9 = testMatrix4x4(0..3)
460*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $10..13 = testMatrix4x4(4..7)
461*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $14..17 = testMatrix4x4(8..11)
462*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $18..21 = testMatrix4x4(12..15)
463*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $22..25 = 0x3F800000 (1.0)
464*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_4              mat1x4($2..5) = mat4x4($6..21) * mat1x4($22..25)
465*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₅ = Mask($2..5)
466*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $2 = CondMask
467*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $3..6 = v₅
468*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     $7..10 = i47..50 [0x40800000 (4.0), 0x41000000 (8.0), 0x41400000 (12.0), 0x41800000 (16.0)]
469*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $3..6 = notEqual($3..6, $7..10)
470*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $3..4 |= $5..6
471*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $3 |= $4
472*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $2 & $3
473*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $4 = 0
474*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec4_X_mat4].result = Mask($4)
475*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
476*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $2
477*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $6..9 = 0xBF800000 (-1.0)
478*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $10..13 = testMatrix4x4(0..3)
479*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $14..17 = testMatrix4x4(4..7)
480*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $18..21 = testMatrix4x4(8..11)
481*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $22..25 = testMatrix4x4(12..15)
482*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_4              mat4x1($2..5) = mat4x1($6..9) * mat4x4($10..25)
483*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₅ = Mask($2..5)
484*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $2 = CondMask
485*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $3..6 = v₅
486*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $7..10 = 0xC1200000 (-10.0)
487*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats                 $3..6 = notEqual($3..6, $7..10)
488*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints              $3..4 |= $5..6
489*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int                 $3 |= $4
490*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $2 & $3
491*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $4 = 0
492*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec4_X_mat4].result = Mask($4)
493*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
494*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $2
495*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $6..9 = testMatrix4x4(0..3)
496*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $10..13 = testMatrix4x4(4..7)
497*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $14..17 = testMatrix4x4(8..11)
498*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $18..21 = testMatrix4x4(12..15)
499*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              $22..25 = 0xBF800000 (-1.0)
500*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_4              mat1x4($2..5) = mat4x4($6..21) * mat1x4($22..25)
501*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked            v₅ = Mask($2..5)
502*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     $6..9 = i51..54 [0xC0800000 (-4.0), 0xC1000000 (-8.0), 0xC1400000 (-12.0), 0xC1800000 (-16.0)]
503*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $2..5 = equal($2..5, $6..9)
504*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $2..3 &= $4..5
505*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $2 &= $3
506*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_no_op_vec4_X_mat4].result = Mask($2)
507*c8dee2aaSAndroid Build Coastguard Workerload_return_mask               RetMask = $1
508*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = [test_no_op_vec4_X_mat4].result
509*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000B
510*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
511*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000001
512*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $26
513*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $0..3 = ($0..3).xxxx
514*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $4..7 = colorRed
515*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $8..11 = colorGreen
516*c8dee2aaSAndroid Build Coastguard Workermix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
517*c8dee2aaSAndroid Build Coastguard Workerload_src                       src.rgba = $0..3
518