blob: 5f629cca2382eb2410e19c79ceeceb712339f4c6 [file] [log] [blame]
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