xref: /aosp_15_r20/external/skia/tests/sksl/folding/VectorScalarFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1685 instructions
2
3[immutable slots]
4i0 = 0x40C00000 (6.0)
5i1 = 0x40C00000 (6.0)
6i2 = 0x40E00000 (7.0)
7i3 = 0x41000000 (8.0)
8i4 = 0x40E00000 (7.0)
9i5 = 0x41100000 (9.0)
10i6 = 0x41100000 (9.0)
11i7 = 0x41100000 (9.0)
12i8 = 0x41100000 (9.0)
13i9 = 0x41100000 (9.0)
14i10 = 0x41200000 (10.0)
15i11 = 0x41200000 (10.0)
16i12 = 0x40C00000 (6.0)
17i13 = 0x40C00000 (6.0)
18i14 = 0x40C00000 (6.0)
19i15 = 0x41200000 (10.0)
20i16 = 0x40400000 (3.0)
21i17 = 0x40400000 (3.0)
22i18 = 0x40C00000 (6.0)
23i19 = 0x41200000 (10.0)
24i20 = 0xC0E00000 (-7.0)
25i21 = 0xC1100000 (-9.0)
26i22 = 0xC1100000 (-9.0)
27i23 = 0xC1100000 (-9.0)
28i24 = 0x41000000 (8.0)
29i25 = 0x41000000 (8.0)
30i26 = 0x40C00000 (6.0)
31i27 = 0x41200000 (10.0)
32i28 = 0x40000000 (2.0)
33i29 = 0x3F800000 (1.0)
34i30 = 0x3F000000 (0.5)
35i31 = 0x3E800000 (0.25)
36i32 = 0x00000006 (8.407791e-45)
37i33 = 0x00000006 (8.407791e-45)
38i34 = 0x00000007 (9.809089e-45)
39i35 = 0x00000008 (1.121039e-44)
40i36 = 0x00000007 (9.809089e-45)
41i37 = 0x00000009 (1.261169e-44)
42i38 = 0x00000009 (1.261169e-44)
43i39 = 0x00000009 (1.261169e-44)
44i40 = 0x00000009 (1.261169e-44)
45i41 = 0x00000009 (1.261169e-44)
46i42 = 0x0000000A (1.401298e-44)
47i43 = 0x0000000A (1.401298e-44)
48i44 = 0x00000006 (8.407791e-45)
49i45 = 0x00000006 (8.407791e-45)
50i46 = 0x00000006 (8.407791e-45)
51i47 = 0x0000000A (1.401298e-44)
52i48 = 0x00000003 (4.203895e-45)
53i49 = 0x00000003 (4.203895e-45)
54i50 = 0x00000006 (8.407791e-45)
55i51 = 0x0000000A (1.401298e-44)
56i52 = 0xFFFFFFF9
57i53 = 0xFFFFFFF7
58i54 = 0xFFFFFFF7
59i55 = 0xFFFFFFF7
60i56 = 0x00000008 (1.121039e-44)
61i57 = 0x00000008 (1.121039e-44)
62i58 = 0x00000006 (8.407791e-45)
63i59 = 0x0000000A (1.401298e-44)
64i60 = 0x000000C8 (2.802597e-43)
65i61 = 0x00000064 (1.401298e-43)
66i62 = 0x00000032 (7.006492e-44)
67i63 = 0x00000019 (3.503246e-44)
68
69store_src_rg                   coords = src.rg
70init_lane_masks                CondMask = LoopMask = RetMask = true
71copy_constant                  _0_ok = 0xFFFFFFFF
72copy_4_immutables_unmasked     _1_x = i0..3 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
73copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
74copy_slot_unmasked             $4 = _1_x(3)
75copy_4_immutables_unmasked     $5..8 = i0..3 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
76cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
77bitwise_and_2_ints             $1..2 &= $3..4
78bitwise_and_int                $1 &= $2
79bitwise_and_int                $0 &= $1
80copy_slot_unmasked             _0_ok = $0
81copy_4_immutables_unmasked     _1_x = i4..7 [0x40E00000 (7.0), 0x41100000 (9.0), 0x41100000 (9.0), 0x41100000 (9.0)]
82copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
83copy_slot_unmasked             $4 = _1_x(3)
84copy_4_immutables_unmasked     $5..8 = i4..7 [0x40E00000 (7.0), 0x41100000 (9.0), 0x41100000 (9.0), 0x41100000 (9.0)]
85cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
86bitwise_and_2_ints             $1..2 &= $3..4
87bitwise_and_int                $1 &= $2
88bitwise_and_int                $0 &= $1
89copy_slot_unmasked             _0_ok = $0
90copy_4_immutables_unmasked     _1_x = i8..11 [0x41100000 (9.0), 0x41100000 (9.0), 0x41200000 (10.0), 0x41200000 (10.0)]
91copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
92copy_slot_unmasked             $4 = _1_x(3)
93copy_4_immutables_unmasked     $5..8 = i8..11 [0x41100000 (9.0), 0x41100000 (9.0), 0x41200000 (10.0), 0x41200000 (10.0)]
94cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
95bitwise_and_2_ints             $1..2 &= $3..4
96bitwise_and_int                $1 &= $2
97bitwise_and_int                $0 &= $1
98copy_slot_unmasked             _0_ok = $0
99splat_3_constants              _1_x(0..2) = 0x40C00000 (6.0)
100copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
101copy_slot_unmasked             $4 = _1_x(3)
102copy_4_immutables_unmasked     $5..8 = i12..15 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40C00000 (6.0), 0x41200000 (10.0)]
103cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
104bitwise_and_2_ints             $1..2 &= $3..4
105bitwise_and_int                $1 &= $2
106bitwise_and_int                $0 &= $1
107copy_slot_unmasked             _0_ok = $0
108splat_2_constants              _1_x(0..1) = 0x40400000 (3.0)
109copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
110copy_slot_unmasked             $4 = _1_x(3)
111copy_4_immutables_unmasked     $5..8 = i16..19 [0x40400000 (3.0), 0x40400000 (3.0), 0x40C00000 (6.0), 0x41200000 (10.0)]
112cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
113bitwise_and_2_ints             $1..2 &= $3..4
114bitwise_and_int                $1 &= $2
115bitwise_and_int                $0 &= $1
116copy_slot_unmasked             _0_ok = $0
117splat_4_constants              _1_x = 0x40C00000 (6.0)
118copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
119copy_slot_unmasked             $4 = _1_x(3)
120splat_4_constants              $5..8 = 0x40C00000 (6.0)
121cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
122bitwise_and_2_ints             $1..2 &= $3..4
123bitwise_and_int                $1 &= $2
124bitwise_and_int                $0 &= $1
125copy_slot_unmasked             _0_ok = $0
126copy_4_immutables_unmasked     _1_x = i0..3 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
127copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
128copy_slot_unmasked             $4 = _1_x(3)
129copy_4_immutables_unmasked     $5..8 = i0..3 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
130cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
131bitwise_and_2_ints             $1..2 &= $3..4
132bitwise_and_int                $1 &= $2
133bitwise_and_int                $0 &= $1
134copy_slot_unmasked             _0_ok = $0
135copy_4_immutables_unmasked     _1_x = i20..23 [0xC0E00000 (-7.0), 0xC1100000 (-9.0), 0xC1100000 (-9.0), 0xC1100000 (-9.0)]
136copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
137copy_slot_unmasked             $4 = _1_x(3)
138copy_4_immutables_unmasked     $5..8 = i20..23 [0xC0E00000 (-7.0), 0xC1100000 (-9.0), 0xC1100000 (-9.0), 0xC1100000 (-9.0)]
139cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
140bitwise_and_2_ints             $1..2 &= $3..4
141bitwise_and_int                $1 &= $2
142bitwise_and_int                $0 &= $1
143copy_slot_unmasked             _0_ok = $0
144copy_4_immutables_unmasked     _1_x = i8..11 [0x41100000 (9.0), 0x41100000 (9.0), 0x41200000 (10.0), 0x41200000 (10.0)]
145copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
146copy_slot_unmasked             $4 = _1_x(3)
147copy_4_immutables_unmasked     $5..8 = i8..11 [0x41100000 (9.0), 0x41100000 (9.0), 0x41200000 (10.0), 0x41200000 (10.0)]
148cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
149bitwise_and_2_ints             $1..2 &= $3..4
150bitwise_and_int                $1 &= $2
151bitwise_and_int                $0 &= $1
152copy_slot_unmasked             _0_ok = $0
153splat_3_constants              _1_x(0..2) = 0x40C00000 (6.0)
154copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
155copy_slot_unmasked             $4 = _1_x(3)
156copy_4_immutables_unmasked     $5..8 = i12..15 [0x40C00000 (6.0), 0x40C00000 (6.0), 0x40C00000 (6.0), 0x41200000 (10.0)]
157cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
158bitwise_and_2_ints             $1..2 &= $3..4
159bitwise_and_int                $1 &= $2
160bitwise_and_int                $0 &= $1
161copy_slot_unmasked             _0_ok = $0
162splat_2_constants              _1_x(0..1) = 0x41000000 (8.0)
163copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
164copy_slot_unmasked             $4 = _1_x(3)
165copy_4_immutables_unmasked     $5..8 = i24..27 [0x41000000 (8.0), 0x41000000 (8.0), 0x40C00000 (6.0), 0x41200000 (10.0)]
166cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
167bitwise_and_2_ints             $1..2 &= $3..4
168bitwise_and_int                $1 &= $2
169bitwise_and_int                $0 &= $1
170copy_slot_unmasked             _0_ok = $0
171copy_4_immutables_unmasked     _1_x = i28..31 [0x40000000 (2.0), 0x3F800000 (1.0), 0x3F000000 (0.5), 0x3E800000 (0.25)]
172copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
173copy_slot_unmasked             $4 = _1_x(3)
174copy_4_immutables_unmasked     $5..8 = i28..31 [0x40000000 (2.0), 0x3F800000 (1.0), 0x3F000000 (0.5), 0x3E800000 (0.25)]
175cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
176bitwise_and_2_ints             $1..2 &= $3..4
177bitwise_and_int                $1 &= $2
178bitwise_and_int                $0 &= $1
179copy_slot_unmasked             _0_ok = $0
180splat_4_constants              _1_x = 0x40C00000 (6.0)
181copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
182copy_slot_unmasked             $4 = _1_x(3)
183splat_4_constants              $5..8 = 0x40C00000 (6.0)
184cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
185bitwise_and_2_ints             $1..2 &= $3..4
186bitwise_and_int                $1 &= $2
187bitwise_and_int                $0 &= $1
188copy_slot_unmasked             _0_ok = $0
189copy_uniform                   _2_unknown = unknownInput
190copy_slot_unmasked             $0 = _2_unknown
191swizzle_4                      $0..3 = ($0..3).xxxx
192copy_4_slots_unmasked          _1_x = $0..3
193copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
194copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
195swizzle_4                      $5..8 = ($5..8).xxxx
196cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
197bitwise_and_2_ints             $1..2 &= $3..4
198bitwise_and_int                $1 &= $2
199bitwise_and_int                $0 &= $1
200copy_slot_unmasked             _0_ok = $0
201splat_4_constants              _1_x = 0
202copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
203copy_slot_unmasked             $4 = _1_x(3)
204splat_4_constants              $5..8 = 0
205cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
206bitwise_and_2_ints             $1..2 &= $3..4
207bitwise_and_int                $1 &= $2
208bitwise_and_int                $0 &= $1
209copy_slot_unmasked             _0_ok = $0
210splat_4_constants              $0..3 = 0
211copy_slot_unmasked             $4 = _2_unknown
212swizzle_4                      $4..7 = ($4..7).xxxx
213div_4_floats                   $0..3 /= $4..7
214copy_4_slots_unmasked          _1_x = $0..3
215copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
216copy_slot_unmasked             $4 = _1_x(3)
217splat_4_constants              $5..8 = 0
218cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
219bitwise_and_2_ints             $1..2 &= $3..4
220bitwise_and_int                $1 &= $2
221bitwise_and_int                $0 &= $1
222copy_slot_unmasked             _0_ok = $0
223copy_slot_unmasked             $0 = _2_unknown
224swizzle_4                      $0..3 = ($0..3).xxxx
225copy_4_slots_unmasked          _1_x = $0..3
226copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
227copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
228swizzle_4                      $5..8 = ($5..8).xxxx
229cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
230bitwise_and_2_ints             $1..2 &= $3..4
231bitwise_and_int                $1 &= $2
232bitwise_and_int                $0 &= $1
233copy_slot_unmasked             _0_ok = $0
234copy_slot_unmasked             $0 = _2_unknown
235swizzle_4                      $0..3 = ($0..3).xxxx
236copy_4_slots_unmasked          _1_x = $0..3
237copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
238copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
239swizzle_4                      $5..8 = ($5..8).xxxx
240cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
241bitwise_and_2_ints             $1..2 &= $3..4
242bitwise_and_int                $1 &= $2
243bitwise_and_int                $0 &= $1
244copy_slot_unmasked             _0_ok = $0
245copy_slot_unmasked             $0 = _2_unknown
246swizzle_4                      $0..3 = ($0..3).xxxx
247copy_4_slots_unmasked          _1_x = $0..3
248copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
249copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
250swizzle_4                      $5..8 = ($5..8).xxxx
251cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
252bitwise_and_2_ints             $1..2 &= $3..4
253bitwise_and_int                $1 &= $2
254bitwise_and_int                $0 &= $1
255copy_slot_unmasked             _0_ok = $0
256copy_slot_unmasked             $0 = _2_unknown
257swizzle_4                      $0..3 = ($0..3).xxxx
258copy_4_slots_unmasked          _1_x = $0..3
259copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
260copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
261swizzle_4                      $5..8 = ($5..8).xxxx
262cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
263bitwise_and_2_ints             $1..2 &= $3..4
264bitwise_and_int                $1 &= $2
265bitwise_and_int                $0 &= $1
266copy_slot_unmasked             _0_ok = $0
267copy_slot_unmasked             $0 = _2_unknown
268swizzle_4                      $0..3 = ($0..3).xxxx
269copy_4_slots_unmasked          _1_x = $0..3
270copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
271copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
272swizzle_4                      $5..8 = ($5..8).xxxx
273cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
274bitwise_and_2_ints             $1..2 &= $3..4
275bitwise_and_int                $1 &= $2
276bitwise_and_int                $0 &= $1
277copy_slot_unmasked             _0_ok = $0
278copy_slot_unmasked             $0 = _2_unknown
279swizzle_4                      $0..3 = ($0..3).xxxx
280copy_4_slots_unmasked          _1_x = $0..3
281copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
282copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
283swizzle_4                      $5..8 = ($5..8).xxxx
284cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
285bitwise_and_2_ints             $1..2 &= $3..4
286bitwise_and_int                $1 &= $2
287bitwise_and_int                $0 &= $1
288copy_slot_unmasked             _0_ok = $0
289splat_4_constants              _1_x = 0
290copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
291copy_slot_unmasked             $4 = _1_x(3)
292splat_4_constants              $5..8 = 0
293cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
294bitwise_and_2_ints             $1..2 &= $3..4
295bitwise_and_int                $1 &= $2
296bitwise_and_int                $0 &= $1
297copy_slot_unmasked             _0_ok = $0
298splat_4_constants              $0..3 = 0
299copy_slot_unmasked             $4 = _2_unknown
300swizzle_4                      $4..7 = ($4..7).xxxx
301div_4_floats                   $0..3 /= $4..7
302copy_4_slots_unmasked          _1_x = $0..3
303copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
304copy_slot_unmasked             $4 = _1_x(3)
305splat_4_constants              $5..8 = 0
306cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
307bitwise_and_2_ints             $1..2 &= $3..4
308bitwise_and_int                $1 &= $2
309bitwise_and_int                $0 &= $1
310copy_slot_unmasked             _0_ok = $0
311copy_slot_unmasked             $0 = _2_unknown
312swizzle_4                      $0..3 = ($0..3).xxxx
313copy_4_slots_unmasked          _1_x = $0..3
314copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
315copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
316swizzle_4                      $5..8 = ($5..8).xxxx
317cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
318bitwise_and_2_ints             $1..2 &= $3..4
319bitwise_and_int                $1 &= $2
320bitwise_and_int                $0 &= $1
321copy_slot_unmasked             _0_ok = $0
322copy_slot_unmasked             $0 = _2_unknown
323swizzle_4                      $0..3 = ($0..3).xxxx
324copy_4_slots_unmasked          _1_x = $0..3
325copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
326copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
327swizzle_4                      $5..8 = ($5..8).xxxx
328cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
329bitwise_and_2_ints             $1..2 &= $3..4
330bitwise_and_int                $1 &= $2
331bitwise_and_int                $0 &= $1
332copy_slot_unmasked             _0_ok = $0
333splat_4_constants              _1_x = 0
334copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
335copy_slot_unmasked             $4 = _1_x(3)
336splat_4_constants              $5..8 = 0
337cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
338bitwise_and_2_ints             $1..2 &= $3..4
339bitwise_and_int                $1 &= $2
340bitwise_and_int                $0 &= $1
341copy_slot_unmasked             _0_ok = $0
342copy_slot_unmasked             $0 = _2_unknown
343swizzle_4                      $0..3 = ($0..3).xxxx
344copy_4_slots_unmasked          _1_x = $0..3
345copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
346copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
347swizzle_4                      $5..8 = ($5..8).xxxx
348cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
349bitwise_and_2_ints             $1..2 &= $3..4
350bitwise_and_int                $1 &= $2
351bitwise_and_int                $0 &= $1
352copy_slot_unmasked             _0_ok = $0
353copy_slot_unmasked             $0 = _2_unknown
354swizzle_4                      $0..3 = ($0..3).xxxx
355copy_4_slots_unmasked          _1_x = $0..3
356copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
357copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
358swizzle_4                      $5..8 = ($5..8).xxxx
359cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
360bitwise_and_2_ints             $1..2 &= $3..4
361bitwise_and_int                $1 &= $2
362bitwise_and_int                $0 &= $1
363copy_slot_unmasked             _0_ok = $0
364copy_slot_unmasked             $0 = _2_unknown
365swizzle_4                      $0..3 = ($0..3).xxxx
366copy_4_slots_unmasked          _1_x = $0..3
367splat_4_constants              $4..7 = 0x3F800000 (1.0)
368add_4_floats                   $0..3 += $4..7
369copy_4_slots_unmasked          _1_x = $0..3
370splat_4_constants              $4..7 = 0x3F800000 (1.0)
371sub_4_floats                   $0..3 -= $4..7
372copy_4_slots_unmasked          _1_x = $0..3
373copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
374copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
375swizzle_4                      $5..8 = ($5..8).xxxx
376cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
377bitwise_and_2_ints             $1..2 &= $3..4
378bitwise_and_int                $1 &= $2
379bitwise_and_int                $0 &= $1
380copy_slot_unmasked             _0_ok = $0
381copy_slot_unmasked             $0 = _2_unknown
382swizzle_4                      $0..3 = ($0..3).xxxx
383copy_4_slots_unmasked          _1_x = $0..3
384splat_4_constants              $4..7 = 0x3F800000 (1.0)
385add_4_floats                   $0..3 += $4..7
386copy_4_slots_unmasked          _1_x = $0..3
387splat_4_constants              $4..7 = 0x3F800000 (1.0)
388sub_4_floats                   $0..3 -= $4..7
389copy_4_slots_unmasked          _1_x = $0..3
390copy_4_slots_unmasked          $0..3 = _0_ok, _1_x(0..2)
391copy_2_slots_unmasked          $4..5 = _1_x(3), _2_unknown
392swizzle_4                      $5..8 = ($5..8).xxxx
393cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
394bitwise_and_2_ints             $1..2 &= $3..4
395bitwise_and_int                $1 &= $2
396bitwise_and_int                $0 &= $1
397copy_slot_unmasked             _0_ok = $0
398store_condition_mask           $12 = CondMask
399copy_slot_unmasked             $13 = _0_ok
400copy_constant                  $0 = 0
401merge_condition_mask           CondMask = $12 & $13
402branch_if_no_lanes_active      branch_if_no_lanes_active +347 (label 1 at #681)
403copy_constant                  ok = 0xFFFFFFFF
404copy_4_immutables_unmasked     x = i32..35 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44)]
405copy_4_slots_unmasked          $1..4 = ok, x(0..2)
406copy_slot_unmasked             $5 = x(3)
407copy_4_immutables_unmasked     $6..9 = i32..35 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44)]
408cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
409bitwise_and_2_ints             $2..3 &= $4..5
410bitwise_and_int                $2 &= $3
411bitwise_and_int                $1 &= $2
412copy_slot_masked               ok = Mask($1)
413copy_4_immutables_unmasked     $1..4 = i36..39 [0x00000007 (9.809089e-45), 0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44)]
414copy_4_slots_masked            x = Mask($1..4)
415copy_4_slots_unmasked          $1..4 = ok, x(0..2)
416copy_slot_unmasked             $5 = x(3)
417copy_4_immutables_unmasked     $6..9 = i36..39 [0x00000007 (9.809089e-45), 0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44)]
418cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
419bitwise_and_2_ints             $2..3 &= $4..5
420bitwise_and_int                $2 &= $3
421bitwise_and_int                $1 &= $2
422copy_slot_masked               ok = Mask($1)
423copy_4_immutables_unmasked     $1..4 = i40..43 [0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000A (1.401298e-44)]
424copy_4_slots_masked            x = Mask($1..4)
425copy_4_slots_unmasked          $1..4 = ok, x(0..2)
426copy_slot_unmasked             $5 = x(3)
427copy_4_immutables_unmasked     $6..9 = i40..43 [0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000A (1.401298e-44)]
428cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
429bitwise_and_2_ints             $2..3 &= $4..5
430bitwise_and_int                $2 &= $3
431bitwise_and_int                $1 &= $2
432copy_slot_masked               ok = Mask($1)
433splat_3_constants              $1..3 = 0x00000006 (8.407791e-45)
434copy_3_slots_masked            x(0..2) = Mask($1..3)
435copy_4_slots_unmasked          $1..4 = ok, x(0..2)
436copy_slot_unmasked             $5 = x(3)
437copy_4_immutables_unmasked     $6..9 = i44..47 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x0000000A (1.401298e-44)]
438cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
439bitwise_and_2_ints             $2..3 &= $4..5
440bitwise_and_int                $2 &= $3
441bitwise_and_int                $1 &= $2
442copy_slot_masked               ok = Mask($1)
443splat_2_constants              $1..2 = 0x00000003 (4.203895e-45)
444copy_2_slots_masked            x(0..1) = Mask($1..2)
445copy_4_slots_unmasked          $1..4 = ok, x(0..2)
446copy_slot_unmasked             $5 = x(3)
447copy_4_immutables_unmasked     $6..9 = i48..51 [0x00000003 (4.203895e-45), 0x00000003 (4.203895e-45), 0x00000006 (8.407791e-45), 0x0000000A (1.401298e-44)]
448cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
449bitwise_and_2_ints             $2..3 &= $4..5
450bitwise_and_int                $2 &= $3
451bitwise_and_int                $1 &= $2
452copy_slot_masked               ok = Mask($1)
453splat_4_constants              $1..4 = 0x00000006 (8.407791e-45)
454copy_4_slots_masked            x = Mask($1..4)
455copy_4_slots_unmasked          $1..4 = ok, x(0..2)
456copy_slot_unmasked             $5 = x(3)
457splat_4_constants              $6..9 = 0x00000006 (8.407791e-45)
458cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
459bitwise_and_2_ints             $2..3 &= $4..5
460bitwise_and_int                $2 &= $3
461bitwise_and_int                $1 &= $2
462copy_slot_masked               ok = Mask($1)
463copy_4_immutables_unmasked     $1..4 = i32..35 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44)]
464copy_4_slots_masked            x = Mask($1..4)
465copy_4_slots_unmasked          $1..4 = ok, x(0..2)
466copy_slot_unmasked             $5 = x(3)
467copy_4_immutables_unmasked     $6..9 = i32..35 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44)]
468cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
469bitwise_and_2_ints             $2..3 &= $4..5
470bitwise_and_int                $2 &= $3
471bitwise_and_int                $1 &= $2
472copy_slot_masked               ok = Mask($1)
473copy_4_immutables_unmasked     $1..4 = i52..55 [0xFFFFFFF9, 0xFFFFFFF7, 0xFFFFFFF7, 0xFFFFFFF7]
474copy_4_slots_masked            x = Mask($1..4)
475copy_4_slots_unmasked          $1..4 = ok, x(0..2)
476copy_slot_unmasked             $5 = x(3)
477copy_4_immutables_unmasked     $6..9 = i52..55 [0xFFFFFFF9, 0xFFFFFFF7, 0xFFFFFFF7, 0xFFFFFFF7]
478cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
479bitwise_and_2_ints             $2..3 &= $4..5
480bitwise_and_int                $2 &= $3
481bitwise_and_int                $1 &= $2
482copy_slot_masked               ok = Mask($1)
483copy_4_immutables_unmasked     $1..4 = i40..43 [0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000A (1.401298e-44)]
484copy_4_slots_masked            x = Mask($1..4)
485copy_4_slots_unmasked          $1..4 = ok, x(0..2)
486copy_slot_unmasked             $5 = x(3)
487copy_4_immutables_unmasked     $6..9 = i40..43 [0x00000009 (1.261169e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000A (1.401298e-44)]
488cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
489bitwise_and_2_ints             $2..3 &= $4..5
490bitwise_and_int                $2 &= $3
491bitwise_and_int                $1 &= $2
492copy_slot_masked               ok = Mask($1)
493splat_3_constants              $1..3 = 0x00000006 (8.407791e-45)
494copy_3_slots_masked            x(0..2) = Mask($1..3)
495copy_4_slots_unmasked          $1..4 = ok, x(0..2)
496copy_slot_unmasked             $5 = x(3)
497copy_4_immutables_unmasked     $6..9 = i44..47 [0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x00000006 (8.407791e-45), 0x0000000A (1.401298e-44)]
498cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
499bitwise_and_2_ints             $2..3 &= $4..5
500bitwise_and_int                $2 &= $3
501bitwise_and_int                $1 &= $2
502copy_slot_masked               ok = Mask($1)
503splat_2_constants              $1..2 = 0x00000008 (1.121039e-44)
504copy_2_slots_masked            x(0..1) = Mask($1..2)
505copy_4_slots_unmasked          $1..4 = ok, x(0..2)
506copy_slot_unmasked             $5 = x(3)
507copy_4_immutables_unmasked     $6..9 = i56..59 [0x00000008 (1.121039e-44), 0x00000008 (1.121039e-44), 0x00000006 (8.407791e-45), 0x0000000A (1.401298e-44)]
508cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
509bitwise_and_2_ints             $2..3 &= $4..5
510bitwise_and_int                $2 &= $3
511bitwise_and_int                $1 &= $2
512copy_slot_masked               ok = Mask($1)
513copy_4_immutables_unmasked     $1..4 = i60..63 [0x000000C8 (2.802597e-43), 0x00000064 (1.401298e-43), 0x00000032 (7.006492e-44), 0x00000019 (3.503246e-44)]
514copy_4_slots_masked            x = Mask($1..4)
515copy_4_slots_unmasked          $1..4 = ok, x(0..2)
516copy_slot_unmasked             $5 = x(3)
517copy_4_immutables_unmasked     $6..9 = i60..63 [0x000000C8 (2.802597e-43), 0x00000064 (1.401298e-43), 0x00000032 (7.006492e-44), 0x00000019 (3.503246e-44)]
518cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
519bitwise_and_2_ints             $2..3 &= $4..5
520bitwise_and_int                $2 &= $3
521bitwise_and_int                $1 &= $2
522copy_slot_masked               ok = Mask($1)
523splat_4_constants              $1..4 = 0x00000006 (8.407791e-45)
524copy_4_slots_masked            x = Mask($1..4)
525copy_4_slots_unmasked          $1..4 = ok, x(0..2)
526copy_slot_unmasked             $5 = x(3)
527splat_4_constants              $6..9 = 0x00000006 (8.407791e-45)
528cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
529bitwise_and_2_ints             $2..3 &= $4..5
530bitwise_and_int                $2 &= $3
531bitwise_and_int                $1 &= $2
532copy_slot_masked               ok = Mask($1)
533copy_uniform                   $1 = unknownInput
534cast_to_int_from_float         $1 = FloatToInt($1)
535copy_slot_unmasked             unknown = $1
536swizzle_4                      $1..4 = ($1..4).xxxx
537copy_4_slots_masked            x = Mask($1..4)
538copy_4_slots_unmasked          $1..4 = ok, x(0..2)
539copy_2_slots_unmasked          $5..6 = x(3), unknown
540swizzle_4                      $6..9 = ($6..9).xxxx
541cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
542bitwise_and_2_ints             $2..3 &= $4..5
543bitwise_and_int                $2 &= $3
544bitwise_and_int                $1 &= $2
545copy_slot_masked               ok = Mask($1)
546splat_4_constants              $1..4 = 0
547copy_4_slots_masked            x = Mask($1..4)
548copy_4_slots_unmasked          $1..4 = ok, x(0..2)
549copy_slot_unmasked             $5 = x(3)
550splat_4_constants              $6..9 = 0
551cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
552bitwise_and_2_ints             $2..3 &= $4..5
553bitwise_and_int                $2 &= $3
554bitwise_and_int                $1 &= $2
555copy_slot_masked               ok = Mask($1)
556splat_4_constants              $1..4 = 0
557copy_slot_unmasked             $5 = unknown
558swizzle_4                      $5..8 = ($5..8).xxxx
559div_4_ints                     $1..4 /= $5..8
560copy_4_slots_masked            x = Mask($1..4)
561copy_4_slots_unmasked          $1..4 = ok, x(0..2)
562copy_slot_unmasked             $5 = x(3)
563splat_4_constants              $6..9 = 0
564cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
565bitwise_and_2_ints             $2..3 &= $4..5
566bitwise_and_int                $2 &= $3
567bitwise_and_int                $1 &= $2
568copy_slot_masked               ok = Mask($1)
569copy_slot_unmasked             $1 = unknown
570stack_rewind
571swizzle_4                      $1..4 = ($1..4).xxxx
572copy_4_slots_masked            x = Mask($1..4)
573copy_4_slots_unmasked          $1..4 = ok, x(0..2)
574copy_2_slots_unmasked          $5..6 = x(3), unknown
575swizzle_4                      $6..9 = ($6..9).xxxx
576cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
577bitwise_and_2_ints             $2..3 &= $4..5
578bitwise_and_int                $2 &= $3
579bitwise_and_int                $1 &= $2
580copy_slot_masked               ok = Mask($1)
581copy_slot_unmasked             $1 = unknown
582swizzle_4                      $1..4 = ($1..4).xxxx
583copy_4_slots_masked            x = Mask($1..4)
584copy_4_slots_unmasked          $1..4 = ok, x(0..2)
585copy_2_slots_unmasked          $5..6 = x(3), unknown
586swizzle_4                      $6..9 = ($6..9).xxxx
587cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
588bitwise_and_2_ints             $2..3 &= $4..5
589bitwise_and_int                $2 &= $3
590bitwise_and_int                $1 &= $2
591copy_slot_masked               ok = Mask($1)
592copy_slot_unmasked             $1 = unknown
593swizzle_4                      $1..4 = ($1..4).xxxx
594copy_4_slots_masked            x = Mask($1..4)
595copy_4_slots_unmasked          $1..4 = ok, x(0..2)
596copy_2_slots_unmasked          $5..6 = x(3), unknown
597swizzle_4                      $6..9 = ($6..9).xxxx
598cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
599bitwise_and_2_ints             $2..3 &= $4..5
600bitwise_and_int                $2 &= $3
601bitwise_and_int                $1 &= $2
602copy_slot_masked               ok = Mask($1)
603copy_slot_unmasked             $1 = unknown
604swizzle_4                      $1..4 = ($1..4).xxxx
605copy_4_slots_masked            x = Mask($1..4)
606copy_4_slots_unmasked          $1..4 = ok, x(0..2)
607copy_2_slots_unmasked          $5..6 = x(3), unknown
608swizzle_4                      $6..9 = ($6..9).xxxx
609cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
610bitwise_and_2_ints             $2..3 &= $4..5
611bitwise_and_int                $2 &= $3
612bitwise_and_int                $1 &= $2
613copy_slot_masked               ok = Mask($1)
614copy_slot_unmasked             $1 = unknown
615swizzle_4                      $1..4 = ($1..4).xxxx
616copy_4_slots_masked            x = Mask($1..4)
617copy_4_slots_unmasked          $1..4 = ok, x(0..2)
618copy_2_slots_unmasked          $5..6 = x(3), unknown
619swizzle_4                      $6..9 = ($6..9).xxxx
620cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
621bitwise_and_2_ints             $2..3 &= $4..5
622bitwise_and_int                $2 &= $3
623bitwise_and_int                $1 &= $2
624copy_slot_masked               ok = Mask($1)
625copy_slot_unmasked             $1 = unknown
626swizzle_4                      $1..4 = ($1..4).xxxx
627copy_4_slots_masked            x = Mask($1..4)
628copy_4_slots_unmasked          $1..4 = ok, x(0..2)
629copy_2_slots_unmasked          $5..6 = x(3), unknown
630swizzle_4                      $6..9 = ($6..9).xxxx
631cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
632bitwise_and_2_ints             $2..3 &= $4..5
633bitwise_and_int                $2 &= $3
634bitwise_and_int                $1 &= $2
635copy_slot_masked               ok = Mask($1)
636splat_4_constants              $1..4 = 0
637copy_4_slots_masked            x = Mask($1..4)
638copy_4_slots_unmasked          $1..4 = ok, x(0..2)
639copy_slot_unmasked             $5 = x(3)
640splat_4_constants              $6..9 = 0
641cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
642bitwise_and_2_ints             $2..3 &= $4..5
643bitwise_and_int                $2 &= $3
644bitwise_and_int                $1 &= $2
645copy_slot_masked               ok = Mask($1)
646splat_4_constants              $1..4 = 0
647copy_slot_unmasked             $5 = unknown
648swizzle_4                      $5..8 = ($5..8).xxxx
649div_4_ints                     $1..4 /= $5..8
650copy_4_slots_masked            x = Mask($1..4)
651copy_4_slots_unmasked          $1..4 = ok, x(0..2)
652copy_slot_unmasked             $5 = x(3)
653splat_4_constants              $6..9 = 0
654cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
655bitwise_and_2_ints             $2..3 &= $4..5
656bitwise_and_int                $2 &= $3
657bitwise_and_int                $1 &= $2
658copy_slot_masked               ok = Mask($1)
659copy_slot_unmasked             $1 = unknown
660swizzle_4                      $1..4 = ($1..4).xxxx
661copy_4_slots_masked            x = Mask($1..4)
662copy_4_slots_unmasked          $1..4 = ok, x(0..2)
663copy_2_slots_unmasked          $5..6 = x(3), unknown
664swizzle_4                      $6..9 = ($6..9).xxxx
665cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
666bitwise_and_2_ints             $2..3 &= $4..5
667bitwise_and_int                $2 &= $3
668bitwise_and_int                $1 &= $2
669copy_slot_masked               ok = Mask($1)
670copy_slot_unmasked             $1 = unknown
671swizzle_4                      $1..4 = ($1..4).xxxx
672copy_4_slots_masked            x = Mask($1..4)
673copy_4_slots_unmasked          $1..4 = ok, x(0..2)
674copy_2_slots_unmasked          $5..6 = x(3), unknown
675swizzle_4                      $6..9 = ($6..9).xxxx
676cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
677bitwise_and_2_ints             $2..3 &= $4..5
678bitwise_and_int                $2 &= $3
679bitwise_and_int                $1 &= $2
680copy_slot_masked               ok = Mask($1)
681splat_4_constants              $1..4 = 0
682copy_4_slots_masked            x = Mask($1..4)
683copy_4_slots_unmasked          $1..4 = ok, x(0..2)
684copy_slot_unmasked             $5 = x(3)
685splat_4_constants              $6..9 = 0
686cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
687bitwise_and_2_ints             $2..3 &= $4..5
688bitwise_and_int                $2 &= $3
689bitwise_and_int                $1 &= $2
690copy_slot_masked               ok = Mask($1)
691copy_slot_unmasked             $1 = unknown
692swizzle_4                      $1..4 = ($1..4).xxxx
693copy_4_slots_masked            x = Mask($1..4)
694copy_4_slots_unmasked          $1..4 = ok, x(0..2)
695copy_2_slots_unmasked          $5..6 = x(3), unknown
696swizzle_4                      $6..9 = ($6..9).xxxx
697cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
698bitwise_and_2_ints             $2..3 &= $4..5
699bitwise_and_int                $2 &= $3
700bitwise_and_int                $1 &= $2
701copy_slot_masked               ok = Mask($1)
702copy_slot_unmasked             $1 = unknown
703swizzle_4                      $1..4 = ($1..4).xxxx
704copy_4_slots_masked            x = Mask($1..4)
705copy_4_slots_unmasked          $1..4 = ok, x(0..2)
706copy_2_slots_unmasked          $5..6 = x(3), unknown
707swizzle_4                      $6..9 = ($6..9).xxxx
708cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
709bitwise_and_2_ints             $2..3 &= $4..5
710bitwise_and_int                $2 &= $3
711bitwise_and_int                $1 &= $2
712copy_slot_masked               ok = Mask($1)
713copy_slot_unmasked             $1 = unknown
714swizzle_4                      $1..4 = ($1..4).xxxx
715copy_4_slots_masked            x = Mask($1..4)
716splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
717add_4_ints                     $1..4 += $5..8
718copy_4_slots_masked            x = Mask($1..4)
719splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
720sub_4_ints                     $1..4 -= $5..8
721copy_4_slots_masked            x = Mask($1..4)
722copy_4_slots_unmasked          $1..4 = ok, x(0..2)
723copy_2_slots_unmasked          $5..6 = x(3), unknown
724swizzle_4                      $6..9 = ($6..9).xxxx
725cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
726bitwise_and_2_ints             $2..3 &= $4..5
727bitwise_and_int                $2 &= $3
728bitwise_and_int                $1 &= $2
729copy_slot_masked               ok = Mask($1)
730copy_slot_unmasked             $1 = unknown
731swizzle_4                      $1..4 = ($1..4).xxxx
732copy_4_slots_masked            x = Mask($1..4)
733splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
734add_4_ints                     $1..4 += $5..8
735copy_4_slots_masked            x = Mask($1..4)
736splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
737sub_4_ints                     $1..4 -= $5..8
738copy_4_slots_masked            x = Mask($1..4)
739copy_4_slots_unmasked          $1..4 = ok, x(0..2)
740copy_2_slots_unmasked          $5..6 = x(3), unknown
741swizzle_4                      $6..9 = ($6..9).xxxx
742cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
743bitwise_and_2_ints             $2..3 &= $4..5
744bitwise_and_int                $2 &= $3
745bitwise_and_int                $1 &= $2
746copy_slot_masked               ok = Mask($1)
747label                          label 0x00000002
748copy_slot_masked               $0 = Mask($1)
749label                          label 0x00000001
750load_condition_mask            CondMask = $12
751swizzle_4                      $0..3 = ($0..3).xxxx
752copy_4_uniforms                $4..7 = colorRed
753copy_4_uniforms                $8..11 = colorGreen
754mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
755load_src                       src.rgba = $0..3
756