1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_constant _0_ok = 0xFFFFFFFF | |
4. copy_constant _1_splat_4(0) = 0x40800000 (4.0) | |
5. copy_constant _1_splat_4(1) = 0x40800000 (4.0) | |
6. copy_constant _1_splat_4(2) = 0x40800000 (4.0) | |
7. copy_constant _1_splat_4(3) = 0x40800000 (4.0) | |
8. copy_constant _1_splat_4(4) = 0x40800000 (4.0) | |
9. copy_constant _1_splat_4(5) = 0x40800000 (4.0) | |
10. zero_4_slots_unmasked _2_m(0..3) = 0 | |
11. zero_2_slots_unmasked _2_m(4..5) = 0 | |
12. zero_slot_unmasked $0 = 0 | |
13. copy_constant $1 = 0x40000000 (2.0) | |
14. shuffle $0..5 = ($0..5)[1 0 0 1 0 0] | |
15. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
16. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
17. copy_4_slots_unmasked $0..3 = _2_m(0..3) | |
18. copy_2_slots_unmasked $4..5 = _2_m(4..5) | |
19. copy_4_slots_unmasked $6..9 = _1_splat_4(0..3) | |
20. copy_2_slots_unmasked $10..11 = _1_splat_4(4..5) | |
21. add_n_floats $0..5 += $6..11 | |
22. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
23. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
24. copy_slot_unmasked $0 = _0_ok | |
25. copy_4_slots_unmasked $1..4 = _2_m(0..3) | |
26. copy_2_slots_unmasked $5..6 = _2_m(4..5) | |
27. copy_constant $7 = 0x40C00000 (6.0) | |
28. copy_constant $8 = 0x40800000 (4.0) | |
29. copy_constant $9 = 0x40800000 (4.0) | |
30. copy_constant $10 = 0x40C00000 (6.0) | |
31. copy_constant $11 = 0x40800000 (4.0) | |
32. copy_constant $12 = 0x40800000 (4.0) | |
33. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
34. bitwise_and_3_ints $1..3 &= $4..6 | |
35. bitwise_and_int $2 &= $3 | |
36. bitwise_and_int $1 &= $2 | |
37. bitwise_and_int $0 &= $1 | |
38. copy_slot_unmasked _0_ok = $0 | |
39. zero_slot_unmasked $0 = 0 | |
40. copy_constant $1 = 0x40000000 (2.0) | |
41. shuffle $0..5 = ($0..5)[1 0 0 1 0 0] | |
42. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
43. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
44. copy_4_slots_unmasked $0..3 = _2_m(0..3) | |
45. copy_2_slots_unmasked $4..5 = _2_m(4..5) | |
46. copy_4_slots_unmasked $6..9 = _1_splat_4(0..3) | |
47. copy_2_slots_unmasked $10..11 = _1_splat_4(4..5) | |
48. sub_n_floats $0..5 -= $6..11 | |
49. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
50. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
51. copy_slot_unmasked $0 = _0_ok | |
52. copy_4_slots_unmasked $1..4 = _2_m(0..3) | |
53. copy_2_slots_unmasked $5..6 = _2_m(4..5) | |
54. copy_constant $7 = 0xC0000000 (-2.0) | |
55. copy_constant $8 = 0xC0800000 (-4.0) | |
56. copy_constant $9 = 0xC0800000 (-4.0) | |
57. copy_constant $10 = 0xC0000000 (-2.0) | |
58. copy_constant $11 = 0xC0800000 (-4.0) | |
59. copy_constant $12 = 0xC0800000 (-4.0) | |
60. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
61. bitwise_and_3_ints $1..3 &= $4..6 | |
62. bitwise_and_int $2 &= $3 | |
63. bitwise_and_int $1 &= $2 | |
64. bitwise_and_int $0 &= $1 | |
65. copy_slot_unmasked _0_ok = $0 | |
66. zero_slot_unmasked $0 = 0 | |
67. copy_constant $1 = 0x40000000 (2.0) | |
68. shuffle $0..5 = ($0..5)[1 0 0 1 0 0] | |
69. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
70. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
71. copy_4_slots_unmasked $0..3 = _2_m(0..3) | |
72. copy_2_slots_unmasked $4..5 = _2_m(4..5) | |
73. copy_4_slots_unmasked $6..9 = _1_splat_4(0..3) | |
74. copy_2_slots_unmasked $10..11 = _1_splat_4(4..5) | |
75. div_n_floats $0..5 /= $6..11 | |
76. copy_4_slots_unmasked _2_m(0..3) = $0..3 | |
77. copy_2_slots_unmasked _2_m(4..5) = $4..5 | |
78. copy_slot_unmasked $0 = _0_ok | |
79. copy_4_slots_unmasked $1..4 = _2_m(0..3) | |
80. copy_2_slots_unmasked $5..6 = _2_m(4..5) | |
81. zero_slot_unmasked $7 = 0 | |
82. copy_constant $8 = 0x3F000000 (0.5) | |
83. shuffle $7..12 = ($7..12)[1 0 0 1 0 0] | |
84. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
85. bitwise_and_3_ints $1..3 &= $4..6 | |
86. bitwise_and_int $2 &= $3 | |
87. bitwise_and_int $1 &= $2 | |
88. bitwise_and_int $0 &= $1 | |
89. copy_slot_unmasked _0_ok = $0 | |
90. copy_constant _3_splat_4(0) = 0x40800000 (4.0) | |
91. copy_constant _3_splat_4(1) = 0x40800000 (4.0) | |
92. copy_constant _3_splat_4(2) = 0x40800000 (4.0) | |
93. copy_constant _3_splat_4(3) = 0x40800000 (4.0) | |
94. copy_constant _3_splat_4(4) = 0x40800000 (4.0) | |
95. copy_constant _3_splat_4(5) = 0x40800000 (4.0) | |
96. zero_4_slots_unmasked _4_m(0..3) = 0 | |
97. zero_2_slots_unmasked _4_m(4..5) = 0 | |
98. copy_4_slots_unmasked $0..3 = _3_splat_4(0..3) | |
99. copy_2_slots_unmasked $4..5 = _3_splat_4(4..5) | |
100. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
101. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
102. copy_4_slots_unmasked $0..3 = _4_m(0..3) | |
103. copy_2_slots_unmasked $4..5 = _4_m(4..5) | |
104. zero_slot_unmasked $6 = 0 | |
105. copy_constant $7 = 0x40000000 (2.0) | |
106. shuffle $6..11 = ($6..11)[1 0 0 0 1 0] | |
107. add_n_floats $0..5 += $6..11 | |
108. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
109. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
110. copy_slot_unmasked $0 = _0_ok | |
111. copy_4_slots_unmasked $1..4 = _4_m(0..3) | |
112. copy_2_slots_unmasked $5..6 = _4_m(4..5) | |
113. copy_constant $7 = 0x40C00000 (6.0) | |
114. copy_constant $8 = 0x40800000 (4.0) | |
115. copy_constant $9 = 0x40800000 (4.0) | |
116. copy_constant $10 = 0x40800000 (4.0) | |
117. copy_constant $11 = 0x40C00000 (6.0) | |
118. copy_constant $12 = 0x40800000 (4.0) | |
119. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
120. bitwise_and_3_ints $1..3 &= $4..6 | |
121. bitwise_and_int $2 &= $3 | |
122. bitwise_and_int $1 &= $2 | |
123. bitwise_and_int $0 &= $1 | |
124. copy_slot_unmasked _0_ok = $0 | |
125. copy_4_slots_unmasked $0..3 = _3_splat_4(0..3) | |
126. copy_2_slots_unmasked $4..5 = _3_splat_4(4..5) | |
127. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
128. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
129. copy_4_slots_unmasked $0..3 = _4_m(0..3) | |
130. copy_2_slots_unmasked $4..5 = _4_m(4..5) | |
131. zero_slot_unmasked $6 = 0 | |
132. copy_constant $7 = 0x40000000 (2.0) | |
133. shuffle $6..11 = ($6..11)[1 0 0 0 1 0] | |
134. sub_n_floats $0..5 -= $6..11 | |
135. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
136. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
137. copy_slot_unmasked $0 = _0_ok | |
138. copy_4_slots_unmasked $1..4 = _4_m(0..3) | |
139. copy_2_slots_unmasked $5..6 = _4_m(4..5) | |
140. copy_constant $7 = 0x40000000 (2.0) | |
141. copy_constant $8 = 0x40800000 (4.0) | |
142. copy_constant $9 = 0x40800000 (4.0) | |
143. copy_constant $10 = 0x40800000 (4.0) | |
144. copy_constant $11 = 0x40000000 (2.0) | |
145. copy_constant $12 = 0x40800000 (4.0) | |
146. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
147. bitwise_and_3_ints $1..3 &= $4..6 | |
148. bitwise_and_int $2 &= $3 | |
149. bitwise_and_int $1 &= $2 | |
150. bitwise_and_int $0 &= $1 | |
151. copy_slot_unmasked _0_ok = $0 | |
152. copy_4_slots_unmasked $0..3 = _3_splat_4(0..3) | |
153. copy_2_slots_unmasked $4..5 = _3_splat_4(4..5) | |
154. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
155. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
156. copy_4_slots_unmasked $0..3 = _4_m(0..3) | |
157. copy_2_slots_unmasked $4..5 = _4_m(4..5) | |
158. copy_constant $6 = 0x40000000 (2.0) | |
159. copy_constant $7 = 0x40000000 (2.0) | |
160. copy_constant $8 = 0x40000000 (2.0) | |
161. copy_constant $9 = 0x40000000 (2.0) | |
162. copy_constant $10 = 0x40000000 (2.0) | |
163. copy_constant $11 = 0x40000000 (2.0) | |
164. div_n_floats $0..5 /= $6..11 | |
165. copy_4_slots_unmasked _4_m(0..3) = $0..3 | |
166. copy_2_slots_unmasked _4_m(4..5) = $4..5 | |
167. copy_slot_unmasked $0 = _0_ok | |
168. copy_4_slots_unmasked $1..4 = _4_m(0..3) | |
169. copy_2_slots_unmasked $5..6 = _4_m(4..5) | |
170. copy_constant $7 = 0x40000000 (2.0) | |
171. copy_constant $8 = 0x40000000 (2.0) | |
172. copy_constant $9 = 0x40000000 (2.0) | |
173. copy_constant $10 = 0x40000000 (2.0) | |
174. copy_constant $11 = 0x40000000 (2.0) | |
175. copy_constant $12 = 0x40000000 (2.0) | |
176. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
177. bitwise_and_3_ints $1..3 &= $4..6 | |
178. bitwise_and_int $2 &= $3 | |
179. bitwise_and_int $1 &= $2 | |
180. bitwise_and_int $0 &= $1 | |
181. copy_slot_unmasked _0_ok = $0 | |
182. copy_constant _5_m(0) = 0x3F800000 (1.0) | |
183. copy_constant _5_m(1) = 0x40000000 (2.0) | |
184. copy_constant _5_m(2) = 0x40400000 (3.0) | |
185. copy_constant _5_m(3) = 0x40800000 (4.0) | |
186. copy_constant _5_m(4) = 0x40A00000 (5.0) | |
187. copy_constant _5_m(5) = 0x40C00000 (6.0) | |
188. copy_constant _5_m(6) = 0x40E00000 (7.0) | |
189. copy_constant _5_m(7) = 0x41000000 (8.0) | |
190. copy_constant _5_m(8) = 0x41100000 (9.0) | |
191. copy_constant _5_m(9) = 0x41200000 (10.0) | |
192. copy_constant _5_m(10) = 0x41300000 (11.0) | |
193. copy_constant _5_m(11) = 0x41400000 (12.0) | |
194. copy_4_slots_unmasked $0..3 = _5_m(0..3) | |
195. copy_4_slots_unmasked $4..7 = _5_m(4..7) | |
196. copy_4_slots_unmasked $8..11 = _5_m(8..11) | |
197. copy_constant $12 = 0x41800000 (16.0) | |
198. copy_constant $13 = 0x41700000 (15.0) | |
199. copy_constant $14 = 0x41600000 (14.0) | |
200. copy_constant $15 = 0x41500000 (13.0) | |
201. copy_constant $16 = 0x41400000 (12.0) | |
202. copy_constant $17 = 0x41300000 (11.0) | |
203. copy_constant $18 = 0x41200000 (10.0) | |
204. copy_constant $19 = 0x41100000 (9.0) | |
205. copy_constant $20 = 0x41000000 (8.0) | |
206. copy_constant $21 = 0x40E00000 (7.0) | |
207. copy_constant $22 = 0x40C00000 (6.0) | |
208. copy_constant $23 = 0x40A00000 (5.0) | |
209. add_n_floats $0..11 += $12..23 | |
210. copy_4_slots_unmasked _5_m(0..3) = $0..3 | |
211. copy_4_slots_unmasked _5_m(4..7) = $4..7 | |
212. copy_4_slots_unmasked _5_m(8..11) = $8..11 | |
213. copy_slot_unmasked $0 = _0_ok | |
214. copy_4_slots_unmasked $1..4 = _5_m(0..3) | |
215. copy_4_slots_unmasked $5..8 = _5_m(4..7) | |
216. copy_4_slots_unmasked $9..12 = _5_m(8..11) | |
217. copy_constant $13 = 0x41880000 (17.0) | |
218. copy_constant $14 = 0x41880000 (17.0) | |
219. copy_constant $15 = 0x41880000 (17.0) | |
220. copy_constant $16 = 0x41880000 (17.0) | |
221. copy_constant $17 = 0x41880000 (17.0) | |
222. copy_constant $18 = 0x41880000 (17.0) | |
223. copy_constant $19 = 0x41880000 (17.0) | |
224. copy_constant $20 = 0x41880000 (17.0) | |
225. copy_constant $21 = 0x41880000 (17.0) | |
226. copy_constant $22 = 0x41880000 (17.0) | |
227. copy_constant $23 = 0x41880000 (17.0) | |
228. copy_constant $24 = 0x41880000 (17.0) | |
229. cmpeq_n_floats $1..12 = equal($1..12, $13..24) | |
230. bitwise_and_4_ints $5..8 &= $9..12 | |
231. bitwise_and_4_ints $1..4 &= $5..8 | |
232. bitwise_and_2_ints $1..2 &= $3..4 | |
233. bitwise_and_int $1 &= $2 | |
234. bitwise_and_int $0 &= $1 | |
235. copy_slot_unmasked _0_ok = $0 | |
236. copy_constant _6_m(0) = 0x41200000 (10.0) | |
237. copy_constant _6_m(1) = 0x41A00000 (20.0) | |
238. copy_constant _6_m(2) = 0x41F00000 (30.0) | |
239. copy_constant _6_m(3) = 0x42200000 (40.0) | |
240. copy_constant _6_m(4) = 0x42480000 (50.0) | |
241. copy_constant _6_m(5) = 0x42700000 (60.0) | |
242. copy_constant _6_m(6) = 0x428C0000 (70.0) | |
243. copy_constant _6_m(7) = 0x42A00000 (80.0) | |
244. copy_4_slots_unmasked $0..3 = _6_m(0..3) | |
245. copy_4_slots_unmasked $4..7 = _6_m(4..7) | |
246. copy_constant $8 = 0x3F800000 (1.0) | |
247. copy_constant $9 = 0x40000000 (2.0) | |
248. copy_constant $10 = 0x40400000 (3.0) | |
249. copy_constant $11 = 0x40800000 (4.0) | |
250. copy_constant $12 = 0x40A00000 (5.0) | |
251. copy_constant $13 = 0x40C00000 (6.0) | |
252. copy_constant $14 = 0x40E00000 (7.0) | |
253. copy_constant $15 = 0x41000000 (8.0) | |
254. sub_n_floats $0..7 -= $8..15 | |
255. copy_4_slots_unmasked _6_m(0..3) = $0..3 | |
256. copy_4_slots_unmasked _6_m(4..7) = $4..7 | |
257. copy_slot_unmasked $0 = _0_ok | |
258. copy_4_slots_unmasked $1..4 = _6_m(0..3) | |
259. copy_4_slots_unmasked $5..8 = _6_m(4..7) | |
260. copy_constant $9 = 0x41100000 (9.0) | |
261. copy_constant $10 = 0x41900000 (18.0) | |
262. copy_constant $11 = 0x41D80000 (27.0) | |
263. copy_constant $12 = 0x42100000 (36.0) | |
264. copy_constant $13 = 0x42340000 (45.0) | |
265. copy_constant $14 = 0x42580000 (54.0) | |
266. copy_constant $15 = 0x427C0000 (63.0) | |
267. copy_constant $16 = 0x42900000 (72.0) | |
268. cmpeq_n_floats $1..8 = equal($1..8, $9..16) | |
269. bitwise_and_4_ints $1..4 &= $5..8 | |
270. bitwise_and_2_ints $1..2 &= $3..4 | |
271. bitwise_and_int $1 &= $2 | |
272. bitwise_and_int $0 &= $1 | |
273. copy_slot_unmasked _0_ok = $0 | |
274. copy_constant _7_m(0) = 0x41200000 (10.0) | |
275. copy_constant _7_m(1) = 0x41A00000 (20.0) | |
276. copy_constant _7_m(2) = 0x41F00000 (30.0) | |
277. copy_constant _7_m(3) = 0x42200000 (40.0) | |
278. copy_constant _7_m(4) = 0x41200000 (10.0) | |
279. copy_constant _7_m(5) = 0x41A00000 (20.0) | |
280. copy_constant _7_m(6) = 0x41F00000 (30.0) | |
281. copy_constant _7_m(7) = 0x42200000 (40.0) | |
282. copy_4_slots_unmasked $0..3 = _7_m(0..3) | |
283. copy_4_slots_unmasked $4..7 = _7_m(4..7) | |
284. copy_constant $8 = 0x41200000 (10.0) | |
285. copy_constant $9 = 0x41200000 (10.0) | |
286. copy_constant $10 = 0x41200000 (10.0) | |
287. copy_constant $11 = 0x41200000 (10.0) | |
288. copy_constant $12 = 0x40A00000 (5.0) | |
289. copy_constant $13 = 0x40A00000 (5.0) | |
290. copy_constant $14 = 0x40A00000 (5.0) | |
291. copy_constant $15 = 0x40A00000 (5.0) | |
292. div_n_floats $0..7 /= $8..15 | |
293. copy_4_slots_unmasked _7_m(0..3) = $0..3 | |
294. copy_4_slots_unmasked _7_m(4..7) = $4..7 | |
295. copy_slot_unmasked $0 = _0_ok | |
296. copy_4_slots_unmasked $1..4 = _7_m(0..3) | |
297. copy_4_slots_unmasked $5..8 = _7_m(4..7) | |
298. copy_constant $9 = 0x3F800000 (1.0) | |
299. copy_constant $10 = 0x40000000 (2.0) | |
300. copy_constant $11 = 0x40400000 (3.0) | |
301. copy_constant $12 = 0x40800000 (4.0) | |
302. copy_constant $13 = 0x40000000 (2.0) | |
303. copy_constant $14 = 0x40800000 (4.0) | |
304. copy_constant $15 = 0x40C00000 (6.0) | |
305. copy_constant $16 = 0x41000000 (8.0) | |
306. cmpeq_n_floats $1..8 = equal($1..8, $9..16) | |
307. bitwise_and_4_ints $1..4 &= $5..8 | |
308. bitwise_and_2_ints $1..2 &= $3..4 | |
309. bitwise_and_int $1 &= $2 | |
310. bitwise_and_int $0 &= $1 | |
311. copy_slot_unmasked _0_ok = $0 | |
312. copy_constant _8_m(0) = 0x40E00000 (7.0) | |
313. copy_constant _8_m(1) = 0x41100000 (9.0) | |
314. copy_constant _8_m(2) = 0x41300000 (11.0) | |
315. copy_constant _8_m(3) = 0x41000000 (8.0) | |
316. copy_constant _8_m(4) = 0x41200000 (10.0) | |
317. copy_constant _8_m(5) = 0x41400000 (12.0) | |
318. copy_4_slots_unmasked $37..40 = _8_m(0..3) | |
319. copy_2_slots_unmasked $41..42 = _8_m(4..5) | |
320. shuffle $38..42 = ($38..42)[2 0 3 1 4] | |
321. copy_constant $43 = 0x3F800000 (1.0) | |
322. copy_constant $44 = 0x40800000 (4.0) | |
323. copy_constant $45 = 0x40000000 (2.0) | |
324. copy_constant $46 = 0x40A00000 (5.0) | |
325. copy_2_slots_unmasked $0..1 = $37..38 | |
326. copy_2_slots_unmasked $2..3 = $43..44 | |
327. mul_2_floats $0..1 *= $2..3 | |
328. add_float $0 += $1 | |
329. copy_2_slots_unmasked $1..2 = $39..40 | |
330. copy_2_slots_unmasked $3..4 = $43..44 | |
331. mul_2_floats $1..2 *= $3..4 | |
332. add_float $1 += $2 | |
333. copy_2_slots_unmasked $2..3 = $41..42 | |
334. copy_2_slots_unmasked $4..5 = $43..44 | |
335. mul_2_floats $2..3 *= $4..5 | |
336. add_float $2 += $3 | |
337. copy_2_slots_unmasked $3..4 = $37..38 | |
338. copy_2_slots_unmasked $5..6 = $45..46 | |
339. mul_2_floats $3..4 *= $5..6 | |
340. add_float $3 += $4 | |
341. copy_2_slots_unmasked $4..5 = $39..40 | |
342. copy_2_slots_unmasked $6..7 = $45..46 | |
343. mul_2_floats $4..5 *= $6..7 | |
344. add_float $4 += $5 | |
345. copy_2_slots_unmasked $5..6 = $41..42 | |
346. copy_2_slots_unmasked $7..8 = $45..46 | |
347. mul_2_floats $5..6 *= $7..8 | |
348. add_float $5 += $6 | |
349. copy_4_slots_unmasked _8_m(0..3) = $0..3 | |
350. copy_2_slots_unmasked _8_m(4..5) = $4..5 | |
351. copy_slot_unmasked $0 = _0_ok | |
352. copy_4_slots_unmasked $1..4 = _8_m(0..3) | |
353. copy_2_slots_unmasked $5..6 = _8_m(4..5) | |
354. copy_constant $7 = 0x421C0000 (39.0) | |
355. copy_constant $8 = 0x42440000 (49.0) | |
356. copy_constant $9 = 0x426C0000 (59.0) | |
357. copy_constant $10 = 0x42580000 (54.0) | |
358. copy_constant $11 = 0x42880000 (68.0) | |
359. copy_constant $12 = 0x42A40000 (82.0) | |
360. cmpeq_n_floats $1..6 = equal($1..6, $7..12) | |
361. bitwise_and_3_ints $1..3 &= $4..6 | |
362. bitwise_and_int $2 &= $3 | |
363. bitwise_and_int $1 &= $2 | |
364. bitwise_and_int $0 &= $1 | |
365. copy_slot_unmasked _0_ok = $0 | |
366. store_condition_mask $37 = CondMask | |
367. store_condition_mask $25 = CondMask | |
368. copy_slot_unmasked $26 = _0_ok | |
369. zero_slot_unmasked $38 = 0 | |
370. merge_condition_mask CondMask = $25 & $26 | |
371. branch_if_no_active_lanes branch_if_no_active_lanes +367 (#738) | |
372. copy_constant ok = 0xFFFFFFFF | |
373. copy_constant splat_4(0) = 0x40800000 (4.0) | |
374. copy_constant splat_4(1) = 0x40800000 (4.0) | |
375. copy_constant splat_4(2) = 0x40800000 (4.0) | |
376. copy_constant splat_4(3) = 0x40800000 (4.0) | |
377. copy_constant splat_4(4) = 0x40800000 (4.0) | |
378. copy_constant splat_4(5) = 0x40800000 (4.0) | |
379. zero_4_slots_unmasked m(0..3) = 0 | |
380. zero_2_slots_unmasked m(4..5) = 0 | |
381. zero_slot_unmasked $39 = 0 | |
382. copy_constant $40 = 0x40000000 (2.0) | |
383. shuffle $39..44 = ($39..44)[1 0 0 1 0 0] | |
384. copy_4_slots_masked m(0..3) = Mask($39..42) | |
385. copy_2_slots_masked m(4..5) = Mask($43..44) | |
386. copy_4_slots_unmasked $39..42 = m(0..3) | |
387. copy_2_slots_unmasked $43..44 = m(4..5) | |
388. copy_4_slots_unmasked $45..48 = splat_4(0..3) | |
389. copy_2_slots_unmasked $49..50 = splat_4(4..5) | |
390. add_n_floats $39..44 += $45..50 | |
391. copy_4_slots_masked m(0..3) = Mask($39..42) | |
392. copy_2_slots_masked m(4..5) = Mask($43..44) | |
393. copy_slot_unmasked $39 = ok | |
394. copy_4_slots_unmasked $40..43 = m(0..3) | |
395. copy_2_slots_unmasked $44..45 = m(4..5) | |
396. copy_constant $46 = 0x40C00000 (6.0) | |
397. copy_constant $47 = 0x40800000 (4.0) | |
398. copy_constant $48 = 0x40800000 (4.0) | |
399. copy_constant $49 = 0x40C00000 (6.0) | |
400. copy_constant $50 = 0x40800000 (4.0) | |
401. copy_constant $51 = 0x40800000 (4.0) | |
402. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
403. bitwise_and_3_ints $40..42 &= $43..45 | |
404. bitwise_and_int $41 &= $42 | |
405. bitwise_and_int $40 &= $41 | |
406. bitwise_and_int $39 &= $40 | |
407. copy_slot_masked ok = Mask($39) | |
408. zero_slot_unmasked $39 = 0 | |
409. copy_constant $40 = 0x40000000 (2.0) | |
410. shuffle $39..44 = ($39..44)[1 0 0 1 0 0] | |
411. copy_4_slots_masked m(0..3) = Mask($39..42) | |
412. copy_2_slots_masked m(4..5) = Mask($43..44) | |
413. copy_4_slots_unmasked $39..42 = m(0..3) | |
414. copy_2_slots_unmasked $43..44 = m(4..5) | |
415. copy_4_slots_unmasked $45..48 = splat_4(0..3) | |
416. copy_2_slots_unmasked $49..50 = splat_4(4..5) | |
417. sub_n_floats $39..44 -= $45..50 | |
418. copy_4_slots_masked m(0..3) = Mask($39..42) | |
419. copy_2_slots_masked m(4..5) = Mask($43..44) | |
420. copy_slot_unmasked $39 = ok | |
421. copy_4_slots_unmasked $40..43 = m(0..3) | |
422. copy_2_slots_unmasked $44..45 = m(4..5) | |
423. copy_constant $46 = 0xC0000000 (-2.0) | |
424. copy_constant $47 = 0xC0800000 (-4.0) | |
425. copy_constant $48 = 0xC0800000 (-4.0) | |
426. copy_constant $49 = 0xC0000000 (-2.0) | |
427. copy_constant $50 = 0xC0800000 (-4.0) | |
428. copy_constant $51 = 0xC0800000 (-4.0) | |
429. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
430. bitwise_and_3_ints $40..42 &= $43..45 | |
431. bitwise_and_int $41 &= $42 | |
432. bitwise_and_int $40 &= $41 | |
433. bitwise_and_int $39 &= $40 | |
434. copy_slot_masked ok = Mask($39) | |
435. zero_slot_unmasked $39 = 0 | |
436. copy_constant $40 = 0x40000000 (2.0) | |
437. shuffle $39..44 = ($39..44)[1 0 0 1 0 0] | |
438. copy_4_slots_masked m(0..3) = Mask($39..42) | |
439. copy_2_slots_masked m(4..5) = Mask($43..44) | |
440. copy_4_slots_unmasked $39..42 = m(0..3) | |
441. copy_2_slots_unmasked $43..44 = m(4..5) | |
442. copy_4_slots_unmasked $45..48 = splat_4(0..3) | |
443. copy_2_slots_unmasked $49..50 = splat_4(4..5) | |
444. div_n_floats $39..44 /= $45..50 | |
445. copy_4_slots_masked m(0..3) = Mask($39..42) | |
446. copy_2_slots_masked m(4..5) = Mask($43..44) | |
447. copy_slot_unmasked $39 = ok | |
448. copy_4_slots_unmasked $40..43 = m(0..3) | |
449. copy_2_slots_unmasked $44..45 = m(4..5) | |
450. zero_slot_unmasked $46 = 0 | |
451. copy_constant $47 = 0x3F000000 (0.5) | |
452. shuffle $46..51 = ($46..51)[1 0 0 1 0 0] | |
453. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
454. bitwise_and_3_ints $40..42 &= $43..45 | |
455. bitwise_and_int $41 &= $42 | |
456. bitwise_and_int $40 &= $41 | |
457. bitwise_and_int $39 &= $40 | |
458. copy_slot_masked ok = Mask($39) | |
459. copy_constant splat_4(0) = 0x40800000 (4.0) | |
460. copy_constant splat_4(1) = 0x40800000 (4.0) | |
461. copy_constant splat_4(2) = 0x40800000 (4.0) | |
462. copy_constant splat_4(3) = 0x40800000 (4.0) | |
463. copy_constant splat_4(4) = 0x40800000 (4.0) | |
464. copy_constant splat_4(5) = 0x40800000 (4.0) | |
465. zero_4_slots_unmasked m(0..3) = 0 | |
466. zero_2_slots_unmasked m(4..5) = 0 | |
467. copy_4_slots_unmasked $39..42 = splat_4(0..3) | |
468. copy_2_slots_unmasked $43..44 = splat_4(4..5) | |
469. copy_4_slots_masked m(0..3) = Mask($39..42) | |
470. copy_2_slots_masked m(4..5) = Mask($43..44) | |
471. copy_4_slots_unmasked $39..42 = m(0..3) | |
472. copy_2_slots_unmasked $43..44 = m(4..5) | |
473. zero_slot_unmasked $45 = 0 | |
474. copy_constant $46 = 0x40000000 (2.0) | |
475. shuffle $45..50 = ($45..50)[1 0 0 0 1 0] | |
476. add_n_floats $39..44 += $45..50 | |
477. copy_4_slots_masked m(0..3) = Mask($39..42) | |
478. copy_2_slots_masked m(4..5) = Mask($43..44) | |
479. copy_slot_unmasked $39 = ok | |
480. copy_4_slots_unmasked $40..43 = m(0..3) | |
481. copy_2_slots_unmasked $44..45 = m(4..5) | |
482. copy_constant $46 = 0x40C00000 (6.0) | |
483. copy_constant $47 = 0x40800000 (4.0) | |
484. copy_constant $48 = 0x40800000 (4.0) | |
485. copy_constant $49 = 0x40800000 (4.0) | |
486. copy_constant $50 = 0x40C00000 (6.0) | |
487. copy_constant $51 = 0x40800000 (4.0) | |
488. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
489. bitwise_and_3_ints $40..42 &= $43..45 | |
490. bitwise_and_int $41 &= $42 | |
491. bitwise_and_int $40 &= $41 | |
492. bitwise_and_int $39 &= $40 | |
493. copy_slot_masked ok = Mask($39) | |
494. copy_4_slots_unmasked $39..42 = splat_4(0..3) | |
495. copy_2_slots_unmasked $43..44 = splat_4(4..5) | |
496. copy_4_slots_masked m(0..3) = Mask($39..42) | |
497. copy_2_slots_masked m(4..5) = Mask($43..44) | |
498. copy_4_slots_unmasked $39..42 = m(0..3) | |
499. copy_2_slots_unmasked $43..44 = m(4..5) | |
500. zero_slot_unmasked $45 = 0 | |
501. copy_constant $46 = 0x40000000 (2.0) | |
502. stack_rewind | |
503. shuffle $45..50 = ($45..50)[1 0 0 0 1 0] | |
504. sub_n_floats $39..44 -= $45..50 | |
505. copy_4_slots_masked m(0..3) = Mask($39..42) | |
506. copy_2_slots_masked m(4..5) = Mask($43..44) | |
507. copy_slot_unmasked $39 = ok | |
508. copy_4_slots_unmasked $40..43 = m(0..3) | |
509. copy_2_slots_unmasked $44..45 = m(4..5) | |
510. copy_constant $46 = 0x40000000 (2.0) | |
511. copy_constant $47 = 0x40800000 (4.0) | |
512. copy_constant $48 = 0x40800000 (4.0) | |
513. copy_constant $49 = 0x40800000 (4.0) | |
514. copy_constant $50 = 0x40000000 (2.0) | |
515. copy_constant $51 = 0x40800000 (4.0) | |
516. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
517. bitwise_and_3_ints $40..42 &= $43..45 | |
518. bitwise_and_int $41 &= $42 | |
519. bitwise_and_int $40 &= $41 | |
520. bitwise_and_int $39 &= $40 | |
521. copy_slot_masked ok = Mask($39) | |
522. copy_4_slots_unmasked $39..42 = splat_4(0..3) | |
523. copy_2_slots_unmasked $43..44 = splat_4(4..5) | |
524. copy_4_slots_masked m(0..3) = Mask($39..42) | |
525. copy_2_slots_masked m(4..5) = Mask($43..44) | |
526. copy_4_slots_unmasked $39..42 = m(0..3) | |
527. copy_2_slots_unmasked $43..44 = m(4..5) | |
528. copy_constant $45 = 0x40000000 (2.0) | |
529. copy_constant $46 = 0x40000000 (2.0) | |
530. copy_constant $47 = 0x40000000 (2.0) | |
531. copy_constant $48 = 0x40000000 (2.0) | |
532. copy_constant $49 = 0x40000000 (2.0) | |
533. copy_constant $50 = 0x40000000 (2.0) | |
534. div_n_floats $39..44 /= $45..50 | |
535. copy_4_slots_masked m(0..3) = Mask($39..42) | |
536. copy_2_slots_masked m(4..5) = Mask($43..44) | |
537. copy_slot_unmasked $39 = ok | |
538. copy_4_slots_unmasked $40..43 = m(0..3) | |
539. copy_2_slots_unmasked $44..45 = m(4..5) | |
540. copy_constant $46 = 0x40000000 (2.0) | |
541. copy_constant $47 = 0x40000000 (2.0) | |
542. copy_constant $48 = 0x40000000 (2.0) | |
543. copy_constant $49 = 0x40000000 (2.0) | |
544. copy_constant $50 = 0x40000000 (2.0) | |
545. copy_constant $51 = 0x40000000 (2.0) | |
546. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
547. bitwise_and_3_ints $40..42 &= $43..45 | |
548. bitwise_and_int $41 &= $42 | |
549. bitwise_and_int $40 &= $41 | |
550. bitwise_and_int $39 &= $40 | |
551. copy_slot_masked ok = Mask($39) | |
552. copy_constant m(0) = 0x3F800000 (1.0) | |
553. copy_constant m(1) = 0x40000000 (2.0) | |
554. copy_constant m(2) = 0x40400000 (3.0) | |
555. copy_constant m(3) = 0x40800000 (4.0) | |
556. copy_constant m(4) = 0x40A00000 (5.0) | |
557. copy_constant m(5) = 0x40C00000 (6.0) | |
558. copy_constant m(6) = 0x40E00000 (7.0) | |
559. copy_constant m(7) = 0x41000000 (8.0) | |
560. copy_constant m(8) = 0x41100000 (9.0) | |
561. copy_constant m(9) = 0x41200000 (10.0) | |
562. copy_constant m(10) = 0x41300000 (11.0) | |
563. copy_constant m(11) = 0x41400000 (12.0) | |
564. copy_4_slots_unmasked $39..42 = m(0..3) | |
565. copy_4_slots_unmasked $43..46 = m(4..7) | |
566. copy_4_slots_unmasked $47..50 = m(8..11) | |
567. copy_constant $51 = 0x41800000 (16.0) | |
568. copy_constant $52 = 0x41700000 (15.0) | |
569. copy_constant $53 = 0x41600000 (14.0) | |
570. copy_constant $54 = 0x41500000 (13.0) | |
571. copy_constant $55 = 0x41400000 (12.0) | |
572. copy_constant $56 = 0x41300000 (11.0) | |
573. copy_constant $57 = 0x41200000 (10.0) | |
574. copy_constant $58 = 0x41100000 (9.0) | |
575. copy_constant $59 = 0x41000000 (8.0) | |
576. copy_constant $60 = 0x40E00000 (7.0) | |
577. copy_constant $61 = 0x40C00000 (6.0) | |
578. copy_constant $62 = 0x40A00000 (5.0) | |
579. add_n_floats $39..50 += $51..62 | |
580. copy_4_slots_masked m(0..3) = Mask($39..42) | |
581. copy_4_slots_masked m(4..7) = Mask($43..46) | |
582. copy_4_slots_masked m(8..11) = Mask($47..50) | |
583. copy_slot_unmasked $39 = ok | |
584. copy_4_slots_unmasked $40..43 = m(0..3) | |
585. copy_4_slots_unmasked $44..47 = m(4..7) | |
586. copy_4_slots_unmasked $48..51 = m(8..11) | |
587. copy_constant $52 = 0x41880000 (17.0) | |
588. copy_constant $53 = 0x41880000 (17.0) | |
589. copy_constant $54 = 0x41880000 (17.0) | |
590. copy_constant $55 = 0x41880000 (17.0) | |
591. copy_constant $56 = 0x41880000 (17.0) | |
592. copy_constant $57 = 0x41880000 (17.0) | |
593. copy_constant $58 = 0x41880000 (17.0) | |
594. copy_constant $59 = 0x41880000 (17.0) | |
595. copy_constant $60 = 0x41880000 (17.0) | |
596. copy_constant $61 = 0x41880000 (17.0) | |
597. copy_constant $62 = 0x41880000 (17.0) | |
598. copy_constant $63 = 0x41880000 (17.0) | |
599. cmpeq_n_floats $40..51 = equal($40..51, $52..63) | |
600. bitwise_and_4_ints $44..47 &= $48..51 | |
601. bitwise_and_4_ints $40..43 &= $44..47 | |
602. bitwise_and_2_ints $40..41 &= $42..43 | |
603. bitwise_and_int $40 &= $41 | |
604. bitwise_and_int $39 &= $40 | |
605. copy_slot_masked ok = Mask($39) | |
606. copy_constant m(0) = 0x41200000 (10.0) | |
607. copy_constant m(1) = 0x41A00000 (20.0) | |
608. copy_constant m(2) = 0x41F00000 (30.0) | |
609. copy_constant m(3) = 0x42200000 (40.0) | |
610. copy_constant m(4) = 0x42480000 (50.0) | |
611. copy_constant m(5) = 0x42700000 (60.0) | |
612. copy_constant m(6) = 0x428C0000 (70.0) | |
613. copy_constant m(7) = 0x42A00000 (80.0) | |
614. copy_4_slots_unmasked $39..42 = m(0..3) | |
615. copy_4_slots_unmasked $43..46 = m(4..7) | |
616. copy_constant $47 = 0x3F800000 (1.0) | |
617. copy_constant $48 = 0x40000000 (2.0) | |
618. copy_constant $49 = 0x40400000 (3.0) | |
619. copy_constant $50 = 0x40800000 (4.0) | |
620. copy_constant $51 = 0x40A00000 (5.0) | |
621. copy_constant $52 = 0x40C00000 (6.0) | |
622. copy_constant $53 = 0x40E00000 (7.0) | |
623. copy_constant $54 = 0x41000000 (8.0) | |
624. sub_n_floats $39..46 -= $47..54 | |
625. copy_4_slots_masked m(0..3) = Mask($39..42) | |
626. copy_4_slots_masked m(4..7) = Mask($43..46) | |
627. copy_slot_unmasked $39 = ok | |
628. copy_4_slots_unmasked $40..43 = m(0..3) | |
629. copy_4_slots_unmasked $44..47 = m(4..7) | |
630. copy_constant $48 = 0x41100000 (9.0) | |
631. copy_constant $49 = 0x41900000 (18.0) | |
632. copy_constant $50 = 0x41D80000 (27.0) | |
633. copy_constant $51 = 0x42100000 (36.0) | |
634. copy_constant $52 = 0x42340000 (45.0) | |
635. copy_constant $53 = 0x42580000 (54.0) | |
636. copy_constant $54 = 0x427C0000 (63.0) | |
637. copy_constant $55 = 0x42900000 (72.0) | |
638. cmpeq_n_floats $40..47 = equal($40..47, $48..55) | |
639. bitwise_and_4_ints $40..43 &= $44..47 | |
640. bitwise_and_2_ints $40..41 &= $42..43 | |
641. bitwise_and_int $40 &= $41 | |
642. bitwise_and_int $39 &= $40 | |
643. copy_slot_masked ok = Mask($39) | |
644. copy_constant m(0) = 0x41200000 (10.0) | |
645. copy_constant m(1) = 0x41A00000 (20.0) | |
646. copy_constant m(2) = 0x41F00000 (30.0) | |
647. copy_constant m(3) = 0x42200000 (40.0) | |
648. copy_constant m(4) = 0x41200000 (10.0) | |
649. copy_constant m(5) = 0x41A00000 (20.0) | |
650. copy_constant m(6) = 0x41F00000 (30.0) | |
651. copy_constant m(7) = 0x42200000 (40.0) | |
652. copy_4_slots_unmasked $39..42 = m(0..3) | |
653. copy_4_slots_unmasked $43..46 = m(4..7) | |
654. copy_constant $47 = 0x41200000 (10.0) | |
655. copy_constant $48 = 0x41200000 (10.0) | |
656. copy_constant $49 = 0x41200000 (10.0) | |
657. copy_constant $50 = 0x41200000 (10.0) | |
658. copy_constant $51 = 0x40A00000 (5.0) | |
659. copy_constant $52 = 0x40A00000 (5.0) | |
660. copy_constant $53 = 0x40A00000 (5.0) | |
661. copy_constant $54 = 0x40A00000 (5.0) | |
662. div_n_floats $39..46 /= $47..54 | |
663. copy_4_slots_masked m(0..3) = Mask($39..42) | |
664. copy_4_slots_masked m(4..7) = Mask($43..46) | |
665. copy_slot_unmasked $39 = ok | |
666. copy_4_slots_unmasked $40..43 = m(0..3) | |
667. copy_4_slots_unmasked $44..47 = m(4..7) | |
668. copy_constant $48 = 0x3F800000 (1.0) | |
669. copy_constant $49 = 0x40000000 (2.0) | |
670. copy_constant $50 = 0x40400000 (3.0) | |
671. copy_constant $51 = 0x40800000 (4.0) | |
672. copy_constant $52 = 0x40000000 (2.0) | |
673. copy_constant $53 = 0x40800000 (4.0) | |
674. copy_constant $54 = 0x40C00000 (6.0) | |
675. copy_constant $55 = 0x41000000 (8.0) | |
676. cmpeq_n_floats $40..47 = equal($40..47, $48..55) | |
677. bitwise_and_4_ints $40..43 &= $44..47 | |
678. bitwise_and_2_ints $40..41 &= $42..43 | |
679. bitwise_and_int $40 &= $41 | |
680. bitwise_and_int $39 &= $40 | |
681. copy_slot_masked ok = Mask($39) | |
682. copy_constant m(0) = 0x40E00000 (7.0) | |
683. copy_constant m(1) = 0x41100000 (9.0) | |
684. copy_constant m(2) = 0x41300000 (11.0) | |
685. copy_constant m(3) = 0x41000000 (8.0) | |
686. copy_constant m(4) = 0x41200000 (10.0) | |
687. copy_constant m(5) = 0x41400000 (12.0) | |
688. copy_4_slots_unmasked $27..30 = m(0..3) | |
689. copy_2_slots_unmasked $31..32 = m(4..5) | |
690. shuffle $28..32 = ($28..32)[2 0 3 1 4] | |
691. copy_constant $33 = 0x3F800000 (1.0) | |
692. copy_constant $34 = 0x40800000 (4.0) | |
693. copy_constant $35 = 0x40000000 (2.0) | |
694. copy_constant $36 = 0x40A00000 (5.0) | |
695. copy_2_slots_unmasked $39..40 = $27..28 | |
696. copy_2_slots_unmasked $41..42 = $33..34 | |
697. mul_2_floats $39..40 *= $41..42 | |
698. add_float $39 += $40 | |
699. copy_2_slots_unmasked $40..41 = $29..30 | |
700. copy_2_slots_unmasked $42..43 = $33..34 | |
701. mul_2_floats $40..41 *= $42..43 | |
702. add_float $40 += $41 | |
703. copy_2_slots_unmasked $41..42 = $31..32 | |
704. copy_2_slots_unmasked $43..44 = $33..34 | |
705. mul_2_floats $41..42 *= $43..44 | |
706. add_float $41 += $42 | |
707. copy_2_slots_unmasked $42..43 = $27..28 | |
708. copy_2_slots_unmasked $44..45 = $35..36 | |
709. mul_2_floats $42..43 *= $44..45 | |
710. add_float $42 += $43 | |
711. copy_2_slots_unmasked $43..44 = $29..30 | |
712. copy_2_slots_unmasked $45..46 = $35..36 | |
713. mul_2_floats $43..44 *= $45..46 | |
714. add_float $43 += $44 | |
715. copy_2_slots_unmasked $44..45 = $31..32 | |
716. copy_2_slots_unmasked $46..47 = $35..36 | |
717. mul_2_floats $44..45 *= $46..47 | |
718. add_float $44 += $45 | |
719. copy_4_slots_masked m(0..3) = Mask($39..42) | |
720. copy_2_slots_masked m(4..5) = Mask($43..44) | |
721. copy_slot_unmasked $39 = ok | |
722. copy_4_slots_unmasked $40..43 = m(0..3) | |
723. copy_2_slots_unmasked $44..45 = m(4..5) | |
724. copy_constant $46 = 0x421C0000 (39.0) | |
725. copy_constant $47 = 0x42440000 (49.0) | |
726. copy_constant $48 = 0x426C0000 (59.0) | |
727. copy_constant $49 = 0x42580000 (54.0) | |
728. copy_constant $50 = 0x42880000 (68.0) | |
729. copy_constant $51 = 0x42A40000 (82.0) | |
730. cmpeq_n_floats $40..45 = equal($40..45, $46..51) | |
731. bitwise_and_3_ints $40..42 &= $43..45 | |
732. bitwise_and_int $41 &= $42 | |
733. bitwise_and_int $40 &= $41 | |
734. bitwise_and_int $39 &= $40 | |
735. copy_slot_masked ok = Mask($39) | |
736. copy_slot_masked [test_matrix_op_matrix_half].result = Mask($39) | |
737. copy_slot_masked $38 = Mask($39) | |
738. load_condition_mask CondMask = $25 | |
739. copy_4_constants $0..3 = colorRed | |
740. merge_condition_mask CondMask = $37 & $38 | |
741. copy_4_constants $4..7 = colorGreen | |
742. copy_4_slots_masked $0..3 = Mask($4..7) | |
743. load_condition_mask CondMask = $37 | |
744. copy_4_slots_unmasked [main].result = $0..3 | |
745. load_src src.rgba = [main].result |