blob: 383dbadfc1181469b52e2b08bc98628a74e0193a [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_constant $0 = colorGreen(0)
4. copy_constant $1 = colorGreen(2)
5. div_float $0 /= $1
6. copy_slot_unmasked NAN1 = $0
7. copy_constant $0 = colorGreen(2)
8. copy_constant $1 = colorGreen(0)
9. div_float $0 /= $1
10. copy_slot_unmasked NAN2 = $0
11. copy_constant $0 = colorGreen(0)
12. copy_constant $1 = colorGreen(2)
13. mul_float $0 *= $1
14. copy_slot_unmasked ZP = $0
15. zero_slot_unmasked $0 = 0
16. copy_constant $1 = colorGreen(0)
17. sub_float $0 -= $1
18. copy_constant $1 = colorGreen(2)
19. mul_float $0 *= $1
20. copy_slot_unmasked ZM = $0
21. copy_constant $0 = colorGreen(1)
22. copy_constant $1 = 0x42280000 (42.0)
23. mul_float $0 *= $1
24. copy_slot_unmasked F42 = $0
25. copy_constant $0 = colorGreen(1)
26. copy_constant $1 = 0x422C0000 (43.0)
27. mul_float $0 *= $1
28. copy_slot_unmasked F43 = $0
29. copy_constant $0 = colorGreen(1)
30. copy_constant $1 = 0x42300000 (44.0)
31. mul_float $0 *= $1
32. copy_slot_unmasked F44 = $0
33. copy_constant EQ = 0xFFFFFFFF
34. zero_slot_unmasked NE = 0
35. copy_constant $0 = colorGreen(0)
36. copy_constant $1 = 0x3F800000 (1.0)
37. add_float $0 += $1
38. copy_slot_unmasked _0_one = $0
39. zero_3_slots_unmasked _1_a.f1, _1_a.f2, _1_a.f3 = 0
40. copy_slot_unmasked $0 = F42
41. copy_slot_unmasked _1_a.f1 = $0
42. copy_slot_unmasked $0 = ZM
43. copy_slot_unmasked _1_a.f2 = $0
44. copy_slot_unmasked $0 = ZP
45. copy_slot_unmasked _1_a.f3 = $0
46. zero_3_slots_unmasked _2_b.f1, _2_b.f2, _2_b.f3 = 0
47. copy_slot_unmasked $0 = F42
48. copy_slot_unmasked $1 = _0_one
49. mul_float $0 *= $1
50. copy_slot_unmasked _2_b.f1 = $0
51. copy_slot_unmasked $0 = ZM
52. copy_slot_unmasked $1 = _0_one
53. mul_float $0 *= $1
54. copy_slot_unmasked _2_b.f2 = $0
55. copy_slot_unmasked $0 = ZP
56. copy_slot_unmasked $1 = _0_one
57. mul_float $0 *= $1
58. copy_slot_unmasked _2_b.f3 = $0
59. store_condition_mask $18 = CondMask
60. store_condition_mask $32 = CondMask
61. store_condition_mask $39 = CondMask
62. store_condition_mask $25 = CondMask
63. store_condition_mask $55 = CondMask
64. store_condition_mask $46 = CondMask
65. store_condition_mask $12 = CondMask
66. store_condition_mask $53 = CondMask
67. copy_slot_unmasked $54 = EQ
68. copy_slot_unmasked $13 = _1_a.f1
69. copy_slot_unmasked $14 = _2_b.f1
70. cmpne_float $13 = notEqual($13, $14)
71. copy_slot_unmasked $14 = _1_a.f2
72. copy_slot_unmasked $15 = _2_b.f2
73. cmpne_float $14 = notEqual($14, $15)
74. copy_slot_unmasked $15 = _1_a.f3
75. copy_slot_unmasked $16 = _2_b.f3
76. cmpne_float $15 = notEqual($15, $16)
77. bitwise_or_int $14 |= $15
78. bitwise_or_int $13 |= $14
79. merge_condition_mask CondMask = $53 & $54
80. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 8 at #93)
81. copy_slot_unmasked $14 = _1_a.f1
82. copy_slot_unmasked $15 = _2_b.f1
83. cmpeq_float $14 = equal($14, $15)
84. copy_slot_unmasked $15 = _1_a.f2
85. copy_slot_unmasked $16 = _2_b.f2
86. cmpeq_float $15 = equal($15, $16)
87. copy_slot_unmasked $16 = _1_a.f3
88. copy_slot_unmasked $17 = _2_b.f3
89. cmpeq_float $16 = equal($16, $17)
90. bitwise_and_int $15 &= $16
91. bitwise_and_int $14 &= $15
92. copy_slot_masked $13 = Mask($14)
93. label label 0x00000008
94. load_condition_mask CondMask = $53
95. zero_slot_unmasked $47 = 0
96. merge_condition_mask CondMask = $12 & $13
97. branch_if_no_lanes_active branch_if_no_lanes_active +61 (label 7 at #158)
98. copy_slot_unmasked eq = NE
99. copy_slot_unmasked f1 = F42
100. copy_slot_unmasked f2 = ZM
101. copy_slot_unmasked f3 = ZP
102. copy_constant $48 = colorGreen(0)
103. copy_constant $49 = 0x3F800000 (1.0)
104. add_float $48 += $49
105. copy_slot_unmasked one = $48
106. zero_3_slots_unmasked a.f1, a.f2, a.f3 = 0
107. copy_slot_unmasked $48 = f1
108. copy_slot_masked a.f1 = Mask($48)
109. copy_slot_unmasked $48 = f2
110. copy_slot_masked a.f2 = Mask($48)
111. copy_slot_unmasked $48 = f3
112. copy_slot_masked a.f3 = Mask($48)
113. zero_3_slots_unmasked b.f1, b.f2, b.f3 = 0
114. copy_slot_unmasked $48 = f1
115. copy_slot_unmasked $49 = one
116. mul_float $48 *= $49
117. copy_slot_masked b.f1 = Mask($48)
118. copy_slot_unmasked $48 = f2
119. copy_slot_unmasked $49 = one
120. mul_float $48 *= $49
121. copy_slot_masked b.f2 = Mask($48)
122. copy_slot_unmasked $48 = f3
123. copy_slot_unmasked $49 = one
124. mul_float $48 *= $49
125. copy_slot_masked b.f3 = Mask($48)
126. store_condition_mask $53 = CondMask
127. copy_slot_unmasked $54 = eq
128. copy_slot_unmasked $48 = a.f1
129. copy_slot_unmasked $49 = b.f1
130. cmpne_float $48 = notEqual($48, $49)
131. copy_slot_unmasked $49 = a.f2
132. copy_slot_unmasked $50 = b.f2
133. cmpne_float $49 = notEqual($49, $50)
134. copy_slot_unmasked $50 = a.f3
135. copy_slot_unmasked $51 = b.f3
136. cmpne_float $50 = notEqual($50, $51)
137. bitwise_or_int $49 |= $50
138. bitwise_or_int $48 |= $49
139. merge_condition_mask CondMask = $53 & $54
140. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 10 at #153)
141. copy_slot_unmasked $49 = a.f1
142. copy_slot_unmasked $50 = b.f1
143. cmpeq_float $49 = equal($49, $50)
144. copy_slot_unmasked $50 = a.f2
145. copy_slot_unmasked $51 = b.f2
146. cmpeq_float $50 = equal($50, $51)
147. copy_slot_unmasked $51 = a.f3
148. copy_slot_unmasked $52 = b.f3
149. cmpeq_float $51 = equal($51, $52)
150. bitwise_and_int $50 &= $51
151. bitwise_and_int $49 &= $50
152. copy_slot_masked $48 = Mask($49)
153. label label 0x0000000A
154. load_condition_mask CondMask = $53
155. label label 0x00000009
156. bitwise_not_int $48 = ~$48
157. copy_slot_masked $47 = Mask($48)
158. label label 0x00000007
159. load_condition_mask CondMask = $12
160. zero_slot_unmasked $56 = 0
161. merge_condition_mask CondMask = $46 & $47
162. branch_if_no_lanes_active branch_if_no_lanes_active +59 (label 6 at #221)
163. copy_slot_unmasked eq = NE
164. copy_slot_unmasked f1 = F42
165. copy_2_slots_unmasked f2, f3 = NAN1, NAN2
166. copy_constant $57 = colorGreen(0)
167. copy_constant $58 = 0x3F800000 (1.0)
168. add_float $57 += $58
169. copy_slot_unmasked one = $57
170. zero_3_slots_unmasked a.f1, a.f2, a.f3 = 0
171. copy_slot_unmasked $57 = f1
172. copy_slot_masked a.f1 = Mask($57)
173. copy_slot_unmasked $57 = f2
174. copy_slot_masked a.f2 = Mask($57)
175. copy_slot_unmasked $57 = f3
176. copy_slot_masked a.f3 = Mask($57)
177. zero_3_slots_unmasked b.f1, b.f2, b.f3 = 0
178. copy_slot_unmasked $57 = f1
179. copy_slot_unmasked $58 = one
180. mul_float $57 *= $58
181. copy_slot_masked b.f1 = Mask($57)
182. copy_slot_unmasked $57 = f2
183. copy_slot_unmasked $58 = one
184. mul_float $57 *= $58
185. copy_slot_masked b.f2 = Mask($57)
186. copy_slot_unmasked $57 = f3
187. copy_slot_unmasked $58 = one
188. mul_float $57 *= $58
189. copy_slot_masked b.f3 = Mask($57)
190. store_condition_mask $12 = CondMask
191. copy_slot_unmasked $13 = eq
192. copy_slot_unmasked $57 = a.f1
193. copy_slot_unmasked $58 = b.f1
194. cmpne_float $57 = notEqual($57, $58)
195. copy_slot_unmasked $58 = a.f2
196. copy_slot_unmasked $59 = b.f2
197. cmpne_float $58 = notEqual($58, $59)
198. copy_slot_unmasked $59 = a.f3
199. copy_slot_unmasked $60 = b.f3
200. cmpne_float $59 = notEqual($59, $60)
201. bitwise_or_int $58 |= $59
202. bitwise_or_int $57 |= $58
203. merge_condition_mask CondMask = $12 & $13
204. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 12 at #217)
205. copy_slot_unmasked $58 = a.f1
206. copy_slot_unmasked $59 = b.f1
207. cmpeq_float $58 = equal($58, $59)
208. copy_slot_unmasked $59 = a.f2
209. copy_slot_unmasked $60 = b.f2
210. cmpeq_float $59 = equal($59, $60)
211. copy_slot_unmasked $60 = a.f3
212. copy_slot_unmasked $61 = b.f3
213. cmpeq_float $60 = equal($60, $61)
214. bitwise_and_int $59 &= $60
215. bitwise_and_int $58 &= $59
216. copy_slot_masked $57 = Mask($58)
217. label label 0x0000000C
218. load_condition_mask CondMask = $12
219. label label 0x0000000B
220. copy_slot_masked $56 = Mask($57)
221. label label 0x00000006
222. load_condition_mask CondMask = $46
223. zero_slot_unmasked $26 = 0
224. merge_condition_mask CondMask = $55 & $56
225. branch_if_no_lanes_active branch_if_no_lanes_active +60 (label 5 at #285)
226. copy_slot_unmasked eq = EQ
227. copy_slot_unmasked f1 = F42
228. copy_2_slots_unmasked f2, f3 = NAN1, NAN2
229. copy_constant $27 = colorGreen(0)
230. copy_constant $28 = 0x3F800000 (1.0)
231. add_float $27 += $28
232. copy_slot_unmasked one = $27
233. zero_3_slots_unmasked a.f1, a.f2, a.f3 = 0
234. copy_slot_unmasked $27 = f1
235. copy_slot_masked a.f1 = Mask($27)
236. copy_slot_unmasked $27 = f2
237. copy_slot_masked a.f2 = Mask($27)
238. copy_slot_unmasked $27 = f3
239. copy_slot_masked a.f3 = Mask($27)
240. zero_3_slots_unmasked b.f1, b.f2, b.f3 = 0
241. copy_slot_unmasked $27 = f1
242. copy_slot_unmasked $28 = one
243. mul_float $27 *= $28
244. copy_slot_masked b.f1 = Mask($27)
245. copy_slot_unmasked $27 = f2
246. copy_slot_unmasked $28 = one
247. mul_float $27 *= $28
248. copy_slot_masked b.f2 = Mask($27)
249. copy_slot_unmasked $27 = f3
250. copy_slot_unmasked $28 = one
251. mul_float $27 *= $28
252. copy_slot_masked b.f3 = Mask($27)
253. store_condition_mask $46 = CondMask
254. copy_slot_unmasked $47 = eq
255. copy_slot_unmasked $27 = a.f1
256. copy_slot_unmasked $28 = b.f1
257. cmpne_float $27 = notEqual($27, $28)
258. copy_slot_unmasked $28 = a.f2
259. copy_slot_unmasked $29 = b.f2
260. cmpne_float $28 = notEqual($28, $29)
261. copy_slot_unmasked $29 = a.f3
262. copy_slot_unmasked $30 = b.f3
263. cmpne_float $29 = notEqual($29, $30)
264. bitwise_or_int $28 |= $29
265. bitwise_or_int $27 |= $28
266. merge_condition_mask CondMask = $46 & $47
267. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 14 at #280)
268. copy_slot_unmasked $28 = a.f1
269. copy_slot_unmasked $29 = b.f1
270. cmpeq_float $28 = equal($28, $29)
271. copy_slot_unmasked $29 = a.f2
272. copy_slot_unmasked $30 = b.f2
273. cmpeq_float $29 = equal($29, $30)
274. copy_slot_unmasked $30 = a.f3
275. copy_slot_unmasked $31 = b.f3
276. cmpeq_float $30 = equal($30, $31)
277. bitwise_and_int $29 &= $30
278. bitwise_and_int $28 &= $29
279. copy_slot_masked $27 = Mask($28)
280. label label 0x0000000E
281. load_condition_mask CondMask = $46
282. label label 0x0000000D
283. bitwise_not_int $27 = ~$27
284. copy_slot_masked $26 = Mask($27)
285. label label 0x00000005
286. load_condition_mask CondMask = $55
287. zero_slot_unmasked $40 = 0
288. merge_condition_mask CondMask = $25 & $26
289. branch_if_no_lanes_active branch_if_no_lanes_active +56 (label 4 at #345)
290. copy_slot_unmasked eq = NE
291. copy_3_slots_unmasked f1₁, f2₁, f3 = F42, F43, F44
292. copy_constant $41 = colorGreen(0)
293. copy_constant $42 = 0x40000000 (2.0)
294. add_float $41 += $42
295. copy_slot_unmasked two = $41
296. zero_3_slots_unmasked a.f1₁, a.f2₁, a.f3 = 0
297. copy_slot_unmasked $41 = f1
298. copy_slot_masked a.f1 = Mask($41)
299. copy_slot_unmasked $41 = f2
300. copy_slot_masked a.f2 = Mask($41)
301. copy_slot_unmasked $41 = f3
302. copy_slot_masked a.f3 = Mask($41)
303. zero_3_slots_unmasked b.f1₁, b.f2₁, b.f3 = 0
304. copy_slot_unmasked $41 = f1
305. copy_slot_unmasked $42 = two
306. mul_float $41 *= $42
307. copy_slot_masked b.f1 = Mask($41)
308. copy_slot_unmasked $41 = f2
309. copy_slot_unmasked $42 = two
310. mul_float $41 *= $42
311. copy_slot_masked b.f2 = Mask($41)
312. copy_slot_unmasked $41 = f3
313. copy_slot_masked b.f3 = Mask($41)
314. store_condition_mask $55 = CondMask
315. copy_slot_unmasked $56 = eq
316. copy_slot_unmasked $41 = a.f1
317. copy_slot_unmasked $42 = b.f1
318. cmpne_float $41 = notEqual($41, $42)
319. copy_slot_unmasked $42 = a.f2
320. copy_slot_unmasked $43 = b.f2
321. cmpne_float $42 = notEqual($42, $43)
322. copy_slot_unmasked $43 = a.f3
323. copy_slot_unmasked $44 = b.f3
324. cmpne_float $43 = notEqual($43, $44)
325. bitwise_or_int $42 |= $43
326. bitwise_or_int $41 |= $42
327. merge_condition_mask CondMask = $55 & $56
328. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 16 at #341)
329. copy_slot_unmasked $42 = a.f1
330. copy_slot_unmasked $43 = b.f1
331. cmpeq_float $42 = equal($42, $43)
332. copy_slot_unmasked $43 = a.f2
333. copy_slot_unmasked $44 = b.f2
334. cmpeq_float $43 = equal($43, $44)
335. copy_slot_unmasked $44 = a.f3
336. copy_slot_unmasked $45 = b.f3
337. cmpeq_float $44 = equal($44, $45)
338. bitwise_and_int $43 &= $44
339. bitwise_and_int $42 &= $43
340. copy_slot_masked $41 = Mask($42)
341. label label 0x00000010
342. load_condition_mask CondMask = $55
343. label label 0x0000000F
344. copy_slot_masked $40 = Mask($41)
345. label label 0x00000004
346. load_condition_mask CondMask = $25
347. zero_slot_unmasked $33 = 0
348. merge_condition_mask CondMask = $39 & $40
349. branch_if_no_lanes_active branch_if_no_lanes_active +57 (label 3 at #406)
350. copy_slot_unmasked eq = EQ
351. copy_3_slots_unmasked f1₁, f2₁, f3 = F42, F43, F44
352. copy_constant $34 = colorGreen(0)
353. copy_constant $35 = 0x40000000 (2.0)
354. add_float $34 += $35
355. copy_slot_unmasked two = $34
356. zero_3_slots_unmasked a.f1₁, a.f2₁, a.f3 = 0
357. copy_slot_unmasked $34 = f1
358. copy_slot_masked a.f1 = Mask($34)
359. copy_slot_unmasked $34 = f2
360. copy_slot_masked a.f2 = Mask($34)
361. copy_slot_unmasked $34 = f3
362. copy_slot_masked a.f3 = Mask($34)
363. zero_3_slots_unmasked b.f1₁, b.f2₁, b.f3 = 0
364. copy_slot_unmasked $34 = f1
365. copy_slot_unmasked $35 = two
366. mul_float $34 *= $35
367. copy_slot_masked b.f1 = Mask($34)
368. copy_slot_unmasked $34 = f2
369. copy_slot_unmasked $35 = two
370. mul_float $34 *= $35
371. copy_slot_masked b.f2 = Mask($34)
372. copy_slot_unmasked $34 = f3
373. copy_slot_masked b.f3 = Mask($34)
374. store_condition_mask $25 = CondMask
375. copy_slot_unmasked $26 = eq
376. copy_slot_unmasked $34 = a.f1
377. copy_slot_unmasked $35 = b.f1
378. cmpne_float $34 = notEqual($34, $35)
379. copy_slot_unmasked $35 = a.f2
380. copy_slot_unmasked $36 = b.f2
381. cmpne_float $35 = notEqual($35, $36)
382. copy_slot_unmasked $36 = a.f3
383. copy_slot_unmasked $37 = b.f3
384. cmpne_float $36 = notEqual($36, $37)
385. bitwise_or_int $35 |= $36
386. bitwise_or_int $34 |= $35
387. merge_condition_mask CondMask = $25 & $26
388. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 18 at #401)
389. copy_slot_unmasked $35 = a.f1
390. copy_slot_unmasked $36 = b.f1
391. cmpeq_float $35 = equal($35, $36)
392. copy_slot_unmasked $36 = a.f2
393. copy_slot_unmasked $37 = b.f2
394. cmpeq_float $36 = equal($36, $37)
395. copy_slot_unmasked $37 = a.f3
396. copy_slot_unmasked $38 = b.f3
397. cmpeq_float $37 = equal($37, $38)
398. bitwise_and_int $36 &= $37
399. bitwise_and_int $35 &= $36
400. copy_slot_masked $34 = Mask($35)
401. label label 0x00000012
402. load_condition_mask CondMask = $25
403. label label 0x00000011
404. bitwise_not_int $34 = ~$34
405. copy_slot_masked $33 = Mask($34)
406. label label 0x00000003
407. load_condition_mask CondMask = $39
408. zero_slot_unmasked $19 = 0
409. merge_condition_mask CondMask = $32 & $33
410. branch_if_no_lanes_active branch_if_no_lanes_active +58 (label 2 at #468)
411. copy_slot_unmasked eq = NE
412. copy_slot_unmasked f1 = NAN1
413. copy_slot_unmasked f2 = ZM
414. copy_slot_unmasked f3 = ZP
415. copy_constant $20 = colorGreen(0)
416. copy_constant $21 = 0x40000000 (2.0)
417. add_float $20 += $21
418. copy_slot_unmasked two = $20
419. zero_3_slots_unmasked a.f1₁, a.f2₁, a.f3 = 0
420. copy_slot_unmasked $20 = f1
421. copy_slot_masked a.f1 = Mask($20)
422. copy_slot_unmasked $20 = f2
423. copy_slot_masked a.f2 = Mask($20)
424. copy_slot_unmasked $20 = f3
425. copy_slot_masked a.f3 = Mask($20)
426. zero_3_slots_unmasked b.f1₁, b.f2₁, b.f3 = 0
427. copy_slot_unmasked $20 = f1
428. copy_slot_unmasked $21 = two
429. mul_float $20 *= $21
430. copy_slot_masked b.f1 = Mask($20)
431. copy_slot_unmasked $20 = f2
432. copy_slot_unmasked $21 = two
433. mul_float $20 *= $21
434. copy_slot_masked b.f2 = Mask($20)
435. copy_slot_unmasked $20 = f3
436. copy_slot_masked b.f3 = Mask($20)
437. store_condition_mask $39 = CondMask
438. copy_slot_unmasked $40 = eq
439. copy_slot_unmasked $20 = a.f1
440. copy_slot_unmasked $21 = b.f1
441. cmpne_float $20 = notEqual($20, $21)
442. copy_slot_unmasked $21 = a.f2
443. copy_slot_unmasked $22 = b.f2
444. cmpne_float $21 = notEqual($21, $22)
445. copy_slot_unmasked $22 = a.f3
446. copy_slot_unmasked $23 = b.f3
447. cmpne_float $22 = notEqual($22, $23)
448. bitwise_or_int $21 |= $22
449. bitwise_or_int $20 |= $21
450. merge_condition_mask CondMask = $39 & $40
451. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 20 at #464)
452. copy_slot_unmasked $21 = a.f1
453. copy_slot_unmasked $22 = b.f1
454. cmpeq_float $21 = equal($21, $22)
455. copy_slot_unmasked $22 = a.f2
456. copy_slot_unmasked $23 = b.f2
457. cmpeq_float $22 = equal($22, $23)
458. copy_slot_unmasked $23 = a.f3
459. copy_slot_unmasked $24 = b.f3
460. cmpeq_float $23 = equal($23, $24)
461. bitwise_and_int $22 &= $23
462. bitwise_and_int $21 &= $22
463. copy_slot_masked $20 = Mask($21)
464. label label 0x00000014
465. load_condition_mask CondMask = $39
466. label label 0x00000013
467. copy_slot_masked $19 = Mask($20)
468. label label 0x00000002
469. load_condition_mask CondMask = $32
470. zero_slot_unmasked $0 = 0
471. merge_condition_mask CondMask = $18 & $19
472. branch_if_no_lanes_active branch_if_no_lanes_active +60 (label 1 at #532)
473. copy_slot_unmasked eq = EQ
474. copy_slot_unmasked f1 = NAN1
475. copy_slot_unmasked f2 = ZM
476. copy_slot_unmasked f3 = ZP
477. copy_constant $1 = colorGreen(0)
478. copy_constant $2 = 0x40000000 (2.0)
479. add_float $1 += $2
480. copy_slot_unmasked two = $1
481. zero_3_slots_unmasked a.f1₁, a.f2₁, a.f3 = 0
482. copy_slot_unmasked $1 = f1
483. copy_slot_masked a.f1 = Mask($1)
484. copy_slot_unmasked $1 = f2
485. copy_slot_masked a.f2 = Mask($1)
486. copy_slot_unmasked $1 = f3
487. copy_slot_masked a.f3 = Mask($1)
488. zero_3_slots_unmasked b.f1₁, b.f2₁, b.f3 = 0
489. copy_slot_unmasked $1 = f1
490. copy_slot_unmasked $2 = two
491. mul_float $1 *= $2
492. copy_slot_masked b.f1 = Mask($1)
493. copy_slot_unmasked $1 = f2
494. copy_slot_unmasked $2 = two
495. mul_float $1 *= $2
496. copy_slot_masked b.f2 = Mask($1)
497. copy_slot_unmasked $1 = f3
498. copy_slot_masked b.f3 = Mask($1)
499. store_condition_mask $32 = CondMask
500. copy_slot_unmasked $33 = eq
501. copy_slot_unmasked $1 = a.f1
502. stack_rewind
503. copy_slot_unmasked $2 = b.f1
504. cmpne_float $1 = notEqual($1, $2)
505. copy_slot_unmasked $2 = a.f2
506. copy_slot_unmasked $3 = b.f2
507. cmpne_float $2 = notEqual($2, $3)
508. copy_slot_unmasked $3 = a.f3
509. copy_slot_unmasked $4 = b.f3
510. cmpne_float $3 = notEqual($3, $4)
511. bitwise_or_int $2 |= $3
512. bitwise_or_int $1 |= $2
513. merge_condition_mask CondMask = $32 & $33
514. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 22 at #527)
515. copy_slot_unmasked $2 = a.f1
516. copy_slot_unmasked $3 = b.f1
517. cmpeq_float $2 = equal($2, $3)
518. copy_slot_unmasked $3 = a.f2
519. copy_slot_unmasked $4 = b.f2
520. cmpeq_float $3 = equal($3, $4)
521. copy_slot_unmasked $4 = a.f3
522. copy_slot_unmasked $5 = b.f3
523. cmpeq_float $4 = equal($4, $5)
524. bitwise_and_int $3 &= $4
525. bitwise_and_int $2 &= $3
526. copy_slot_masked $1 = Mask($2)
527. label label 0x00000016
528. load_condition_mask CondMask = $32
529. label label 0x00000015
530. bitwise_not_int $1 = ~$1
531. copy_slot_masked $0 = Mask($1)
532. label label 0x00000001
533. load_condition_mask CondMask = $18
534. swizzle_4 $0..3 = ($0..3).xxxx
535. copy_4_constants $4..7 = colorRed
536. copy_4_constants $8..11 = colorGreen
537. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
538. load_src src.rgba = $0..3