blob: 5572bde18ced59730f2674f22f53a9ee733f0804 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_constant $0 = colorGreen(1)
4. cast_to_int_from_float $0 = FloatToInt($0)
5. copy_slot_unmasked x = $0
6. store_condition_mask $91 = CondMask
7. store_condition_mask $32 = CondMask
8. store_condition_mask $38 = CondMask
9. store_condition_mask $26 = CondMask
10. store_condition_mask $57 = CondMask
11. store_condition_mask $43 = CondMask
12. store_condition_mask $19 = CondMask
13. store_condition_mask $50 = CondMask
14. store_condition_mask $84 = CondMask
15. store_condition_mask $64 = CondMask
16. store_condition_mask $12 = CondMask
17. store_condition_mask $78 = CondMask
18. store_condition_mask $71 = CondMask
19. branch_if_no_lanes_active branch_if_no_lanes_active +33 (label 14 at #52)
20. store_return_mask $72 = RetMask
21. copy_slot_unmasked x = x
22. zero_slot_unmasked val = 0
23. store_loop_mask $73 = LoopMask
24. copy_slot_unmasked $74 = x
25. store_loop_mask $75 = LoopMask
26. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
27. case_op if ($74 == 0x00000001) { LoopMask = true; $75 = false; }
28. branch_if_no_lanes_active branch_if_no_lanes_active +8 (label 16 at #36)
29. copy_slot_unmasked $76 = val
30. copy_constant $77 = 0x00000001 (1.401298e-45)
31. add_int $76 += $77
32. copy_slot_masked val = Mask($76)
33. zero_slot_unmasked $76 = 0
34. copy_slot_masked [return_in_one_case].result = Mask($76)
35. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
36. label label 0x00000010
37. reenable_loop_mask LoopMask |= $75
38. branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 17 at #43)
39. copy_slot_unmasked $75 = val
40. copy_constant $76 = 0x00000001 (1.401298e-45)
41. add_int $75 += $76
42. copy_slot_masked val = Mask($75)
43. label label 0x00000011
44. label label 0x0000000F
45. load_loop_mask LoopMask = $73
46. copy_slot_unmasked $73 = val
47. copy_constant $74 = 0x00000001 (1.401298e-45)
48. cmpeq_int $73 = equal($73, $74)
49. copy_slot_masked [return_in_one_case].result = Mask($73)
50. load_return_mask RetMask = $72
51. copy_slot_unmasked $72 = [return_in_one_case].result
52. label label 0x0000000E
53. zero_slot_unmasked $79 = 0
54. merge_condition_mask CondMask = $71 & $72
55. branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 13 at #74)
56. store_return_mask $80 = RetMask
57. copy_slot_unmasked x = x
58. store_loop_mask $81 = LoopMask
59. copy_slot_unmasked $82 = x
60. store_loop_mask $83 = LoopMask
61. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
62. reenable_loop_mask LoopMask |= $83
63. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 20 at #67)
64. copy_constant $83 = 0xFFFFFFFF
65. copy_slot_masked [return_in_default].result = Mask($83)
66. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
67. label label 0x00000014
68. label label 0x00000013
69. load_loop_mask LoopMask = $81
70. load_return_mask RetMask = $80
71. copy_slot_unmasked $80 = [return_in_default].result
72. label label 0x00000012
73. copy_slot_masked $79 = Mask($80)
74. label label 0x0000000D
75. load_condition_mask CondMask = $71
76. zero_slot_unmasked $13 = 0
77. merge_condition_mask CondMask = $78 & $79
78. branch_if_no_lanes_active branch_if_no_lanes_active +25 (label 12 at #103)
79. store_return_mask $14 = RetMask
80. copy_slot_unmasked x = x
81. store_loop_mask $15 = LoopMask
82. copy_slot_unmasked $16 = x
83. store_loop_mask $17 = LoopMask
84. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
85. case_op if ($16 == 0x00000001) { LoopMask = true; $17 = false; }
86. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 23 at #90)
87. zero_slot_unmasked $18 = 0
88. copy_slot_masked [return_in_every_case].result = Mask($18)
89. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
90. label label 0x00000017
91. reenable_loop_mask LoopMask |= $17
92. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 24 at #96)
93. copy_constant $17 = 0xFFFFFFFF
94. copy_slot_masked [return_in_every_case].result = Mask($17)
95. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
96. label label 0x00000018
97. label label 0x00000016
98. load_loop_mask LoopMask = $15
99. load_return_mask RetMask = $14
100. copy_slot_unmasked $14 = [return_in_every_case].result
101. label label 0x00000015
102. copy_slot_masked $13 = Mask($14)
103. label label 0x0000000C
104. load_condition_mask CondMask = $78
105. zero_slot_unmasked $65 = 0
106. merge_condition_mask CondMask = $12 & $13
107. branch_if_no_lanes_active branch_if_no_lanes_active +33 (label 11 at #140)
108. store_return_mask $66 = RetMask
109. copy_slot_unmasked x = x
110. zero_slot_unmasked val = 0
111. store_loop_mask $67 = LoopMask
112. copy_slot_unmasked $68 = x
113. store_loop_mask $69 = LoopMask
114. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
115. case_op if ($68 == 0x00000001) { LoopMask = true; $69 = false; }
116. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 27 at #120)
117. zero_slot_unmasked $70 = 0
118. copy_slot_masked [return_in_every_case_no_default].result = Mask($70)
119. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
120. label label 0x0000001B
121. case_op if ($68 == 0x00000002) { LoopMask = true; $69 = false; }
122. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 28 at #126)
123. copy_constant $70 = 0xFFFFFFFF
124. copy_slot_masked [return_in_every_case_no_default].result = Mask($70)
125. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
126. label label 0x0000001C
127. label label 0x0000001A
128. load_loop_mask LoopMask = $67
129. copy_slot_unmasked $67 = val
130. copy_constant $68 = 0x00000001 (1.401298e-45)
131. add_int $67 += $68
132. copy_slot_masked val = Mask($67)
133. copy_constant $68 = 0x00000001 (1.401298e-45)
134. cmpeq_int $67 = equal($67, $68)
135. copy_slot_masked [return_in_every_case_no_default].result = Mask($67)
136. load_return_mask RetMask = $66
137. copy_slot_unmasked $66 = [return_in_every_case_no_default].result
138. label label 0x00000019
139. copy_slot_masked $65 = Mask($66)
140. label label 0x0000000B
141. load_condition_mask CondMask = $12
142. zero_slot_unmasked $85 = 0
143. merge_condition_mask CondMask = $64 & $65
144. branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 10 at #182)
145. store_return_mask $86 = RetMask
146. copy_slot_unmasked x = x
147. zero_slot_unmasked val = 0
148. store_loop_mask $87 = LoopMask
149. copy_slot_unmasked $88 = x
150. store_loop_mask $89 = LoopMask
151. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
152. case_op if ($88 == 0x00000001) { LoopMask = true; $89 = false; }
153. branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 31 at #156)
154. branch_if_all_lanes_active branch_if_all_lanes_active +15 (label 30 at #169)
155. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
156. label label 0x0000001F
157. case_op if ($88 == 0x00000002) { LoopMask = true; $89 = false; }
158. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 32 at #162)
159. copy_constant $90 = 0xFFFFFFFF
160. copy_slot_masked [case_has_break_before_return].result = Mask($90)
161. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
162. label label 0x00000020
163. reenable_loop_mask LoopMask |= $89
164. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 33 at #168)
165. copy_constant $89 = 0xFFFFFFFF
166. copy_slot_masked [case_has_break_before_return].result = Mask($89)
167. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
168. label label 0x00000021
169. label label 0x0000001E
170. load_loop_mask LoopMask = $87
171. copy_slot_unmasked $87 = val
172. copy_constant $88 = 0x00000001 (1.401298e-45)
173. add_int $87 += $88
174. copy_slot_masked val = Mask($87)
175. copy_constant $88 = 0x00000001 (1.401298e-45)
176. cmpeq_int $87 = equal($87, $88)
177. copy_slot_masked [case_has_break_before_return].result = Mask($87)
178. load_return_mask RetMask = $86
179. copy_slot_unmasked $86 = [case_has_break_before_return].result
180. label label 0x0000001D
181. copy_slot_masked $85 = Mask($86)
182. label label 0x0000000A
183. load_condition_mask CondMask = $64
184. zero_slot_unmasked $51 = 0
185. merge_condition_mask CondMask = $84 & $85
186. branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 9 at #217)
187. store_return_mask $52 = RetMask
188. copy_slot_unmasked x = x
189. store_loop_mask $53 = LoopMask
190. copy_slot_unmasked $54 = x
191. store_loop_mask $55 = LoopMask
192. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
193. case_op if ($54 == 0x00000001) { LoopMask = true; $55 = false; }
194. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 36 at #198)
195. zero_slot_unmasked $56 = 0
196. copy_slot_masked [case_has_break_after_return].result = Mask($56)
197. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
198. label label 0x00000024
199. case_op if ($54 == 0x00000002) { LoopMask = true; $55 = false; }
200. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 37 at #204)
201. copy_constant $56 = 0xFFFFFFFF
202. copy_slot_masked [case_has_break_after_return].result = Mask($56)
203. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
204. label label 0x00000025
205. reenable_loop_mask LoopMask |= $55
206. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 38 at #210)
207. copy_constant $55 = 0xFFFFFFFF
208. copy_slot_masked [case_has_break_after_return].result = Mask($55)
209. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
210. label label 0x00000026
211. label label 0x00000023
212. load_loop_mask LoopMask = $53
213. load_return_mask RetMask = $52
214. copy_slot_unmasked $52 = [case_has_break_after_return].result
215. label label 0x00000022
216. copy_slot_masked $51 = Mask($52)
217. label label 0x00000009
218. load_condition_mask CondMask = $84
219. zero_slot_unmasked $20 = 0
220. merge_condition_mask CondMask = $50 & $51
221. branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 8 at #259)
222. store_return_mask $21 = RetMask
223. copy_slot_unmasked x = x
224. zero_slot_unmasked val = 0
225. store_loop_mask $22 = LoopMask
226. copy_slot_unmasked $23 = x
227. store_loop_mask $24 = LoopMask
228. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
229. case_op if ($23 == 0x00000001) { LoopMask = true; $24 = false; }
230. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 41 at #234)
231. zero_slot_unmasked $25 = 0
232. copy_slot_masked [no_return_in_default].result = Mask($25)
233. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
234. label label 0x00000029
235. case_op if ($23 == 0x00000002) { LoopMask = true; $24 = false; }
236. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 42 at #240)
237. copy_constant $25 = 0xFFFFFFFF
238. copy_slot_masked [no_return_in_default].result = Mask($25)
239. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
240. label label 0x0000002A
241. reenable_loop_mask LoopMask |= $24
242. branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 43 at #245)
243. branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 40 at #246)
244. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
245. label label 0x0000002B
246. label label 0x00000028
247. load_loop_mask LoopMask = $22
248. copy_slot_unmasked $22 = val
249. copy_constant $23 = 0x00000001 (1.401298e-45)
250. add_int $22 += $23
251. copy_slot_masked val = Mask($22)
252. copy_constant $23 = 0x00000001 (1.401298e-45)
253. cmpeq_int $22 = equal($22, $23)
254. copy_slot_masked [no_return_in_default].result = Mask($22)
255. load_return_mask RetMask = $21
256. copy_slot_unmasked $21 = [no_return_in_default].result
257. label label 0x00000027
258. copy_slot_masked $20 = Mask($21)
259. label label 0x00000008
260. load_condition_mask CondMask = $50
261. zero_slot_unmasked $44 = 0
262. merge_condition_mask CondMask = $19 & $20
263. branch_if_no_lanes_active branch_if_no_lanes_active +35 (label 7 at #298)
264. store_return_mask $45 = RetMask
265. copy_slot_unmasked x = x
266. zero_slot_unmasked val = 0
267. store_loop_mask $46 = LoopMask
268. copy_slot_unmasked $47 = x
269. store_loop_mask $48 = LoopMask
270. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
271. case_op if ($47 == 0x00000001) { LoopMask = true; $48 = false; }
272. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 46 at #276)
273. zero_slot_unmasked $49 = 0
274. copy_slot_masked [empty_default].result = Mask($49)
275. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
276. label label 0x0000002E
277. case_op if ($47 == 0x00000002) { LoopMask = true; $48 = false; }
278. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 47 at #282)
279. copy_constant $49 = 0xFFFFFFFF
280. copy_slot_masked [empty_default].result = Mask($49)
281. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
282. label label 0x0000002F
283. reenable_loop_mask LoopMask |= $48
284. label label 0x00000030
285. label label 0x0000002D
286. load_loop_mask LoopMask = $46
287. copy_slot_unmasked $46 = val
288. copy_constant $47 = 0x00000001 (1.401298e-45)
289. add_int $46 += $47
290. copy_slot_masked val = Mask($46)
291. copy_constant $47 = 0x00000001 (1.401298e-45)
292. cmpeq_int $46 = equal($46, $47)
293. copy_slot_masked [empty_default].result = Mask($46)
294. load_return_mask RetMask = $45
295. copy_slot_unmasked $45 = [empty_default].result
296. label label 0x0000002C
297. copy_slot_masked $44 = Mask($45)
298. label label 0x00000007
299. load_condition_mask CondMask = $19
300. zero_slot_unmasked $58 = 0
301. merge_condition_mask CondMask = $43 & $44
302. branch_if_no_lanes_active branch_if_no_lanes_active +27 (label 6 at #329)
303. store_return_mask $59 = RetMask
304. copy_slot_unmasked x = x
305. store_loop_mask $60 = LoopMask
306. copy_slot_unmasked $61 = x
307. store_loop_mask $62 = LoopMask
308. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
309. case_op if ($61 == 0x00000001) { LoopMask = true; $62 = false; }
310. label label 0x00000033
311. case_op if ($61 == 0x00000002) { LoopMask = true; $62 = false; }
312. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 52 at #316)
313. copy_constant $63 = 0xFFFFFFFF
314. copy_slot_masked [return_with_fallthrough].result = Mask($63)
315. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
316. label label 0x00000034
317. reenable_loop_mask LoopMask |= $62
318. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 53 at #322)
319. zero_slot_unmasked $62 = 0
320. copy_slot_masked [return_with_fallthrough].result = Mask($62)
321. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
322. label label 0x00000035
323. label label 0x00000032
324. load_loop_mask LoopMask = $60
325. load_return_mask RetMask = $59
326. copy_slot_unmasked $59 = [return_with_fallthrough].result
327. label label 0x00000031
328. copy_slot_masked $58 = Mask($59)
329. label label 0x00000006
330. load_condition_mask CondMask = $43
331. zero_slot_unmasked $27 = 0
332. merge_condition_mask CondMask = $57 & $58
333. branch_if_no_lanes_active branch_if_no_lanes_active +34 (label 5 at #367)
334. store_return_mask $28 = RetMask
335. copy_slot_unmasked x₁₀ = x
336. zero_slot_unmasked val = 0
337. store_loop_mask $29 = LoopMask
338. copy_slot_unmasked $30 = x₁₀
339. store_loop_mask $31 = LoopMask
340. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
341. case_op if ($30 == 0x00000001) { LoopMask = true; $31 = false; }
342. label label 0x00000038
343. case_op if ($30 == 0x00000002) { LoopMask = true; $31 = false; }
344. branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 57 at #347)
345. branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 55 at #354)
346. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
347. label label 0x00000039
348. reenable_loop_mask LoopMask |= $31
349. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 58 at #353)
350. zero_slot_unmasked $31 = 0
351. copy_slot_masked [fallthrough_ends_in_break].result = Mask($31)
352. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
353. label label 0x0000003A
354. label label 0x00000037
355. load_loop_mask LoopMask = $29
356. copy_slot_unmasked $29 = val
357. copy_constant $30 = 0x00000001 (1.401298e-45)
358. add_int $29 += $30
359. copy_slot_masked val = Mask($29)
360. copy_constant $30 = 0x00000001 (1.401298e-45)
361. cmpeq_int $29 = equal($29, $30)
362. copy_slot_masked [fallthrough_ends_in_break].result = Mask($29)
363. load_return_mask RetMask = $28
364. copy_slot_unmasked $28 = [fallthrough_ends_in_break].result
365. label label 0x00000036
366. copy_slot_masked $27 = Mask($28)
367. label label 0x00000005
368. load_condition_mask CondMask = $57
369. zero_slot_unmasked $39 = 0
370. merge_condition_mask CondMask = $26 & $27
371. branch_if_no_lanes_active branch_if_no_lanes_active +26 (label 4 at #397)
372. copy_slot_unmasked x₁₁ = x
373. zero_slot_unmasked val = 0
374. store_loop_mask $40 = LoopMask
375. copy_slot_unmasked $41 = x₁₁
376. store_loop_mask $42 = LoopMask
377. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
378. case_op if ($41 == 0x00000001) { LoopMask = true; $42 = false; }
379. label label 0x0000003D
380. case_op if ($41 == 0x00000002) { LoopMask = true; $42 = false; }
381. label label 0x0000003E
382. reenable_loop_mask LoopMask |= $42
383. branch_if_no_lanes_active branch_if_no_lanes_active +3 (label 63 at #386)
384. branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 60 at #387)
385. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
386. label label 0x0000003F
387. label label 0x0000003C
388. load_loop_mask LoopMask = $40
389. copy_slot_unmasked $40 = val
390. copy_constant $41 = 0x00000001 (1.401298e-45)
391. add_int $40 += $41
392. copy_slot_masked val = Mask($40)
393. copy_constant $41 = 0x00000001 (1.401298e-45)
394. cmpeq_int $40 = equal($40, $41)
395. label label 0x0000003B
396. copy_slot_masked $39 = Mask($40)
397. label label 0x00000004
398. load_condition_mask CondMask = $26
399. zero_slot_unmasked $33 = 0
400. merge_condition_mask CondMask = $38 & $39
401. branch_if_no_lanes_active branch_if_no_lanes_active +23 (label 3 at #424)
402. store_return_mask $34 = RetMask
403. copy_slot_unmasked x₁₂ = x
404. store_loop_mask $35 = LoopMask
405. copy_slot_unmasked $36 = x₁₂
406. store_loop_mask $37 = LoopMask
407. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
408. case_op if ($36 == 0x00000001) { LoopMask = true; $37 = false; }
409. label label 0x00000042
410. case_op if ($36 == 0x00000002) { LoopMask = true; $37 = false; }
411. label label 0x00000043
412. reenable_loop_mask LoopMask |= $37
413. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 68 at #417)
414. copy_constant $37 = 0xFFFFFFFF
415. copy_slot_masked [fallthrough_to_default_with_return].result = Mask($37)
416. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
417. label label 0x00000044
418. label label 0x00000041
419. load_loop_mask LoopMask = $35
420. load_return_mask RetMask = $34
421. copy_slot_unmasked $34 = [fallthrough_to_default_with_return].result
422. label label 0x00000040
423. copy_slot_masked $33 = Mask($34)
424. label label 0x00000003
425. load_condition_mask CondMask = $38
426. zero_slot_unmasked $92 = 0
427. merge_condition_mask CondMask = $32 & $33
428. branch_if_no_lanes_active branch_if_no_lanes_active +48 (label 2 at #476)
429. store_return_mask $93 = RetMask
430. copy_slot_unmasked x₁₃ = x
431. zero_slot_unmasked val = 0
432. store_loop_mask $94 = LoopMask
433. copy_slot_unmasked $95 = x₁₃
434. store_loop_mask $96 = LoopMask
435. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
436. case_op if ($95 == 0x00000001) { LoopMask = true; $96 = false; }
437. branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 71 at #461)
438. zero_slot_unmasked i = 0
439. store_loop_mask $97 = LoopMask
440. jump jump +12 (label 73 at #452)
441. label label 0x0000004A
442. copy_slot_unmasked $98 = val
443. copy_constant $99 = 0x00000001 (1.401298e-45)
444. add_int $98 += $99
445. copy_slot_masked val = Mask($98)
446. branch_if_all_lanes_active branch_if_all_lanes_active +13 (label 72 at #459)
447. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
448. copy_slot_unmasked $98 = i
449. copy_constant $99 = 0x00000001 (1.401298e-45)
450. add_int $98 += $99
451. copy_slot_masked i = Mask($98)
452. label label 0x00000049
453. copy_slot_unmasked $98 = i
454. copy_constant $99 = 0x00000005 (7.006492e-45)
455. cmplt_int $98 = lessThan($98, $99)
456. merge_loop_mask LoopMask &= $98
457. stack_rewind
458. branch_if_any_lanes_active branch_if_any_lanes_active -17 (label 74 at #441)
459. label label 0x00000048
460. load_loop_mask LoopMask = $97
461. label label 0x00000047
462. case_op if ($95 == 0x00000002) { LoopMask = true; $96 = false; }
463. label label 0x0000004B
464. reenable_loop_mask LoopMask |= $96
465. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 76 at #469)
466. copy_constant $96 = 0xFFFFFFFF
467. copy_slot_masked [fallthrough_with_loop_break].result = Mask($96)
468. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
469. label label 0x0000004C
470. label label 0x00000046
471. load_loop_mask LoopMask = $94
472. load_return_mask RetMask = $93
473. copy_slot_unmasked $93 = [fallthrough_with_loop_break].result
474. label label 0x00000045
475. copy_slot_masked $92 = Mask($93)
476. label label 0x00000002
477. load_condition_mask CondMask = $32
478. zero_slot_unmasked $0 = 0
479. merge_condition_mask CondMask = $91 & $92
480. branch_if_no_lanes_active branch_if_no_lanes_active +51 (label 1 at #531)
481. store_return_mask $1 = RetMask
482. copy_slot_unmasked x₁₄ = x
483. zero_slot_unmasked val = 0
484. store_loop_mask $2 = LoopMask
485. copy_slot_unmasked $3 = x₁₄
486. store_loop_mask $4 = LoopMask
487. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
488. case_op if ($3 == 0x00000001) { LoopMask = true; $4 = false; }
489. branch_if_no_lanes_active branch_if_no_lanes_active +27 (label 79 at #516)
490. zero_slot_unmasked i = 0
491. store_loop_mask $5 = LoopMask
492. jump jump +15 (label 81 at #507)
493. label label 0x00000052
494. zero_slot_unmasked $32 = 0
495. copy_slot_unmasked $6 = val
496. copy_constant $7 = 0x00000001 (1.401298e-45)
497. add_int $6 += $7
498. copy_slot_masked val = Mask($6)
499. copy_constant $33 = 0xFFFFFFFF
500. copy_slot_masked $32 = Mask($33)
501. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
502. reenable_loop_mask LoopMask |= $32
503. copy_slot_unmasked $6 = i
504. copy_constant $7 = 0x00000001 (1.401298e-45)
505. add_int $6 += $7
506. copy_slot_masked i = Mask($6)
507. label label 0x00000051
508. copy_slot_unmasked $6 = i
509. copy_constant $7 = 0x00000005 (7.006492e-45)
510. cmplt_int $6 = lessThan($6, $7)
511. merge_loop_mask LoopMask &= $6
512. stack_rewind
513. branch_if_any_lanes_active branch_if_any_lanes_active -20 (label 82 at #493)
514. label label 0x00000050
515. load_loop_mask LoopMask = $5
516. label label 0x0000004F
517. case_op if ($3 == 0x00000002) { LoopMask = true; $4 = false; }
518. label label 0x00000053
519. reenable_loop_mask LoopMask |= $4
520. branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 84 at #524)
521. copy_constant $4 = 0xFFFFFFFF
522. copy_slot_masked [fallthrough_with_loop_continue].result = Mask($4)
523. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
524. label label 0x00000054
525. label label 0x0000004E
526. load_loop_mask LoopMask = $2
527. load_return_mask RetMask = $1
528. copy_slot_unmasked $1 = [fallthrough_with_loop_continue].result
529. label label 0x0000004D
530. copy_slot_masked $0 = Mask($1)
531. label label 0x00000001
532. load_condition_mask CondMask = $91
533. swizzle_4 $0..3 = ($0..3).xxxx
534. copy_4_constants $4..7 = colorRed
535. copy_4_constants $8..11 = colorGreen
536. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
537. load_src src.rgba = $0..3