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