blob: 351eef5caae48285df3b84e93467cd01c8001452 [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 $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