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