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