| 1. store_src_rg pos = src.rg | |
| 2. init_lane_masks CondMask = LoopMask = RetMask = true | |
| 3. zero_slot_unmasked kZero = 0 | |
| 4. copy_constant kTen = 0x0000000A (1.401298e-44) | |
| 5. copy_slot_unmasked $0 = pos(0) | |
| 6. copy_constant $1 = colorGreen(1) | |
| 7. max_float $0 = max($0, $1) | |
| 8. copy_constant $1 = colorGreen(3) | |
| 9. min_float $0 = min($0, $1) | |
| 10. cast_to_int_from_float $0 = FloatToInt($0) | |
| 11. copy_constant $1 = 0x00000005 (7.006492e-45) | |
| 12. mul_int $0 *= $1 | |
| 13. copy_slot_unmasked five = $0 | |
| 14. store_condition_mask $20 = CondMask | |
| 15. store_condition_mask $40 = CondMask | |
| 16. store_condition_mask $50 = CondMask | |
| 17. store_condition_mask $30 = CondMask | |
| 18. store_condition_mask $76 = CondMask | |
| 19. store_condition_mask $60 = CondMask | |
| 20. store_condition_mask $14 = CondMask | |
| 21. store_condition_mask $70 = CondMask | |
| 22. store_condition_mask $8 = CondMask | |
| 23. branch_if_no_active_lanes branch_if_no_active_lanes +32 (#55) | |
| 24. store_return_mask $9 = RetMask | |
| 25. copy_slot_unmasked $10 = five | |
| 26. copy_slot_unmasked five = $10 | |
| 27. copy_slot_unmasked $10 = kZero | |
| 28. copy_slot_unmasked i = $10 | |
| 29. store_loop_mask $10 = LoopMask | |
| 30. jump jump +14 (#44) | |
| 31. store_condition_mask $11 = CondMask | |
| 32. copy_slot_unmasked $12 = i | |
| 33. copy_slot_unmasked $13 = five | |
| 34. cmpeq_int $12 = equal($12, $13) | |
| 35. merge_condition_mask CondMask = $11 & $12 | |
| 36. copy_slot_unmasked $13 = i | |
| 37. copy_slot_masked [return_loop].result = Mask($13) | |
| 38. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 39. load_condition_mask CondMask = $11 | |
| 40. copy_slot_unmasked $11 = i | |
| 41. copy_constant $12 = 0x00000001 (1.401298e-45) | |
| 42. add_int $11 += $12 | |
| 43. copy_slot_masked i = Mask($11) | |
| 44. copy_slot_unmasked $11 = i | |
| 45. copy_constant $12 = 0x0000000A (1.401298e-44) | |
| 46. cmplt_int $11 = lessThan($11, $12) | |
| 47. merge_loop_mask LoopMask &= $11 | |
| 48. stack_rewind | |
| 49. branch_if_any_active_lanes branch_if_any_active_lanes -18 (#31) | |
| 50. load_loop_mask LoopMask = $10 | |
| 51. zero_slot_unmasked $10 = 0 | |
| 52. copy_slot_masked [return_loop].result = Mask($10) | |
| 53. load_return_mask RetMask = $9 | |
| 54. copy_slot_unmasked $9 = [return_loop].result | |
| 55. copy_constant $10 = 0x00000005 (7.006492e-45) | |
| 56. cmpeq_int $9 = equal($9, $10) | |
| 57. zero_slot_unmasked $71 = 0 | |
| 58. merge_condition_mask CondMask = $8 & $9 | |
| 59. branch_if_no_active_lanes branch_if_no_active_lanes +36 (#95) | |
| 60. copy_slot_unmasked $72 = five | |
| 61. copy_slot_unmasked five = $72 | |
| 62. zero_2_slots_unmasked sum(0..1) = 0 | |
| 63. store_loop_mask $72 = LoopMask | |
| 64. jump jump +19 (#83) | |
| 65. zero_slot_unmasked [temporary 0] = 0 | |
| 66. store_condition_mask $73 = CondMask | |
| 67. copy_slot_unmasked $74 = i | |
| 68. copy_slot_unmasked $75 = five | |
| 69. cmplt_int $74 = lessThan($74, $75) | |
| 70. merge_condition_mask CondMask = $73 & $74 | |
| 71. copy_constant $75 = 0xFFFFFFFF | |
| 72. copy_slot_masked [temporary 0] = Mask($75) | |
| 73. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 74. load_condition_mask CondMask = $73 | |
| 75. copy_2_slots_unmasked $73..74 = sum(0..1) | |
| 76. add_int $73 += $74 | |
| 77. copy_slot_masked sum = Mask($73) | |
| 78. reenable_loop_mask LoopMask |= [temporary 0] | |
| 79. copy_slot_unmasked $73 = i | |
| 80. copy_constant $74 = 0x00000001 (1.401298e-45) | |
| 81. add_int $73 += $74 | |
| 82. copy_slot_masked i = Mask($73) | |
| 83. copy_slot_unmasked $73 = i | |
| 84. copy_slot_unmasked $74 = kTen | |
| 85. cmplt_int $73 = lessThan($73, $74) | |
| 86. merge_loop_mask LoopMask &= $73 | |
| 87. stack_rewind | |
| 88. branch_if_any_active_lanes branch_if_any_active_lanes -23 (#65) | |
| 89. load_loop_mask LoopMask = $72 | |
| 90. copy_slot_unmasked $72 = sum | |
| 91. copy_slot_masked [continue_loop].result = Mask($72) | |
| 92. copy_constant $73 = 0x00000023 (4.904545e-44) | |
| 93. cmpeq_int $72 = equal($72, $73) | |
| 94. copy_slot_masked $71 = Mask($72) | |
| 95. load_condition_mask CondMask = $8 | |
| 96. zero_slot_unmasked $15 = 0 | |
| 97. merge_condition_mask CondMask = $70 & $71 | |
| 98. branch_if_no_active_lanes branch_if_no_active_lanes +34 (#132) | |
| 99. copy_constant five = 0x00000005 (7.006492e-45) | |
| 100. zero_slot_unmasked sum = 0 | |
| 101. copy_constant kOne = 0x00000001 (1.401298e-45) | |
| 102. zero_slot_unmasked i = 0 | |
| 103. store_loop_mask $16 = LoopMask | |
| 104. jump jump +16 (#120) | |
| 105. store_condition_mask $17 = CondMask | |
| 106. copy_slot_unmasked $18 = five | |
| 107. copy_slot_unmasked $19 = i | |
| 108. cmplt_int $18 = lessThan($18, $19) | |
| 109. merge_condition_mask CondMask = $17 & $18 | |
| 110. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 111. load_condition_mask CondMask = $17 | |
| 112. copy_slot_unmasked $17 = sum | |
| 113. copy_slot_unmasked $18 = i | |
| 114. add_int $17 += $18 | |
| 115. copy_slot_masked sum = Mask($17) | |
| 116. copy_slot_unmasked $17 = i | |
| 117. copy_slot_unmasked $18 = kOne | |
| 118. add_int $17 += $18 | |
| 119. copy_slot_masked i = Mask($17) | |
| 120. copy_slot_unmasked $17 = i | |
| 121. copy_constant $18 = 0x0000000A (1.401298e-44) | |
| 122. cmplt_int $17 = lessThan($17, $18) | |
| 123. merge_loop_mask LoopMask &= $17 | |
| 124. stack_rewind | |
| 125. branch_if_any_active_lanes branch_if_any_active_lanes -20 (#105) | |
| 126. load_loop_mask LoopMask = $16 | |
| 127. copy_slot_unmasked $16 = sum | |
| 128. copy_slot_masked [break_loop].result = Mask($16) | |
| 129. copy_constant $17 = 0x0000000F (2.101948e-44) | |
| 130. cmpeq_int $16 = equal($16, $17) | |
| 131. copy_slot_masked $15 = Mask($16) | |
| 132. load_condition_mask CondMask = $70 | |
| 133. zero_slot_unmasked $61 = 0 | |
| 134. merge_condition_mask CondMask = $14 & $15 | |
| 135. branch_if_no_active_lanes branch_if_no_active_lanes +26 (#161) | |
| 136. copy_constant $62 = 0x00000009 (1.261169e-44) | |
| 137. swizzle_4 $62..65 = ($62..65).xxxx | |
| 138. copy_4_slots_unmasked result = $62..65 | |
| 139. branch_if_no_active_lanes branch_if_no_active_lanes +12 (#151) | |
| 140. copy_constant i = 0x00000001 (1.401298e-45) | |
| 141. copy_4_slots_unmasked $62..65 = result | |
| 142. copy_4_slots_masked result = Mask($62..65) | |
| 143. copy_slot_unmasked $62 = i | |
| 144. copy_constant $63 = 0x00000001 (1.401298e-45) | |
| 145. add_int $62 += $63 | |
| 146. copy_slot_masked i = Mask($62) | |
| 147. copy_constant $63 = 0x00000003 (4.203895e-45) | |
| 148. cmple_int $62 = lessThanEqual($62, $63) | |
| 149. stack_rewind | |
| 150. branch_if_no_active_lanes_eq branch -9 (#141) if no lanes of $62 == 0x00000000 (0.0) | |
| 151. copy_4_slots_unmasked $62..65 = result | |
| 152. copy_constant $66 = 0x00000009 (1.261169e-44) | |
| 153. copy_constant $67 = 0x00000001 (1.401298e-45) | |
| 154. copy_constant $68 = 0x00000002 (2.802597e-45) | |
| 155. copy_constant $69 = 0x00000003 (4.203895e-45) | |
| 156. cmpeq_4_ints $62..65 = equal($62..65, $66..69) | |
| 157. bitwise_and_2_ints $62..63 &= $64..65 | |
| 158. bitwise_and_int $62 &= $63 | |
| 159. copy_slot_masked [loop_operator_le].result = Mask($62) | |
| 160. copy_slot_masked $61 = Mask($62) | |
| 161. load_condition_mask CondMask = $14 | |
| 162. zero_slot_unmasked $77 = 0 | |
| 163. merge_condition_mask CondMask = $60 & $61 | |
| 164. branch_if_no_active_lanes branch_if_no_active_lanes +26 (#190) | |
| 165. copy_constant $78 = 0x00000009 (1.261169e-44) | |
| 166. swizzle_4 $78..81 = ($78..81).xxxx | |
| 167. copy_4_slots_unmasked result = $78..81 | |
| 168. branch_if_no_active_lanes branch_if_no_active_lanes +12 (#180) | |
| 169. copy_constant i = 0x00000001 (1.401298e-45) | |
| 170. copy_4_slots_unmasked $78..81 = result | |
| 171. copy_4_slots_masked result = Mask($78..81) | |
| 172. copy_slot_unmasked $78 = i | |
| 173. copy_constant $79 = 0x00000001 (1.401298e-45) | |
| 174. add_int $78 += $79 | |
| 175. copy_slot_masked i = Mask($78) | |
| 176. copy_constant $79 = 0x00000004 (5.605194e-45) | |
| 177. cmplt_int $78 = lessThan($78, $79) | |
| 178. stack_rewind | |
| 179. branch_if_no_active_lanes_eq branch -9 (#170) if no lanes of $78 == 0x00000000 (0.0) | |
| 180. copy_4_slots_unmasked $78..81 = result | |
| 181. copy_constant $82 = 0x00000009 (1.261169e-44) | |
| 182. copy_constant $83 = 0x00000001 (1.401298e-45) | |
| 183. copy_constant $84 = 0x00000002 (2.802597e-45) | |
| 184. copy_constant $85 = 0x00000003 (4.203895e-45) | |
| 185. cmpeq_4_ints $78..81 = equal($78..81, $82..85) | |
| 186. bitwise_and_2_ints $78..79 &= $80..81 | |
| 187. bitwise_and_int $78 &= $79 | |
| 188. copy_slot_masked [loop_operator_lt].result = Mask($78) | |
| 189. copy_slot_masked $77 = Mask($78) | |
| 190. load_condition_mask CondMask = $60 | |
| 191. zero_slot_unmasked $31 = 0 | |
| 192. merge_condition_mask CondMask = $76 & $77 | |
| 193. branch_if_no_active_lanes branch_if_no_active_lanes +27 (#220) | |
| 194. copy_constant $32 = 0x00000009 (1.261169e-44) | |
| 195. swizzle_4 $32..35 = ($32..35).xxxx | |
| 196. copy_4_slots_unmasked result = $32..35 | |
| 197. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#210) | |
| 198. copy_constant i = 0x00000003 (4.203895e-45) | |
| 199. copy_4_slots_unmasked $32..35 = result | |
| 200. copy_4_slots_masked result = Mask($32..35) | |
| 201. copy_slot_unmasked $32 = i | |
| 202. copy_constant $33 = 0x00000001 (1.401298e-45) | |
| 203. sub_int $32 -= $33 | |
| 204. copy_slot_masked i = Mask($32) | |
| 205. copy_constant $32 = 0x00000001 (1.401298e-45) | |
| 206. copy_slot_unmasked $33 = i | |
| 207. cmple_int $32 = lessThanEqual($32, $33) | |
| 208. stack_rewind | |
| 209. branch_if_no_active_lanes_eq branch -10 (#199) if no lanes of $32 == 0x00000000 (0.0) | |
| 210. copy_4_slots_unmasked $32..35 = result | |
| 211. copy_constant $36 = 0x00000009 (1.261169e-44) | |
| 212. copy_constant $37 = 0x00000003 (4.203895e-45) | |
| 213. copy_constant $38 = 0x00000002 (2.802597e-45) | |
| 214. copy_constant $39 = 0x00000001 (1.401298e-45) | |
| 215. cmpeq_4_ints $32..35 = equal($32..35, $36..39) | |
| 216. bitwise_and_2_ints $32..33 &= $34..35 | |
| 217. bitwise_and_int $32 &= $33 | |
| 218. copy_slot_masked [loop_operator_ge].result = Mask($32) | |
| 219. copy_slot_masked $31 = Mask($32) | |
| 220. load_condition_mask CondMask = $76 | |
| 221. zero_slot_unmasked $51 = 0 | |
| 222. merge_condition_mask CondMask = $30 & $31 | |
| 223. branch_if_no_active_lanes branch_if_no_active_lanes +27 (#250) | |
| 224. copy_constant $52 = 0x00000009 (1.261169e-44) | |
| 225. swizzle_4 $52..55 = ($52..55).xxxx | |
| 226. copy_4_slots_unmasked result = $52..55 | |
| 227. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#240) | |
| 228. copy_constant i = 0x00000003 (4.203895e-45) | |
| 229. copy_4_slots_unmasked $52..55 = result | |
| 230. copy_4_slots_masked result = Mask($52..55) | |
| 231. copy_slot_unmasked $52 = i | |
| 232. copy_constant $53 = 0x00000001 (1.401298e-45) | |
| 233. sub_int $52 -= $53 | |
| 234. copy_slot_masked i = Mask($52) | |
| 235. zero_slot_unmasked $52 = 0 | |
| 236. copy_slot_unmasked $53 = i | |
| 237. cmplt_int $52 = lessThan($52, $53) | |
| 238. stack_rewind | |
| 239. branch_if_no_active_lanes_eq branch -10 (#229) if no lanes of $52 == 0x00000000 (0.0) | |
| 240. copy_4_slots_unmasked $52..55 = result | |
| 241. copy_constant $56 = 0x00000009 (1.261169e-44) | |
| 242. copy_constant $57 = 0x00000003 (4.203895e-45) | |
| 243. copy_constant $58 = 0x00000002 (2.802597e-45) | |
| 244. copy_constant $59 = 0x00000001 (1.401298e-45) | |
| 245. cmpeq_4_ints $52..55 = equal($52..55, $56..59) | |
| 246. bitwise_and_2_ints $52..53 &= $54..55 | |
| 247. bitwise_and_int $52 &= $53 | |
| 248. copy_slot_masked [loop_operator_gt].result = Mask($52) | |
| 249. copy_slot_masked $51 = Mask($52) | |
| 250. load_condition_mask CondMask = $30 | |
| 251. zero_slot_unmasked $41 = 0 | |
| 252. merge_condition_mask CondMask = $50 & $51 | |
| 253. branch_if_no_active_lanes branch_if_no_active_lanes +18 (#271) | |
| 254. copy_constant $42 = 0x00000009 (1.261169e-44) | |
| 255. swizzle_4 $42..45 = ($42..45).xxxx | |
| 256. copy_4_slots_unmasked result = $42..45 | |
| 257. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#261) | |
| 258. copy_constant i = 0x00000001 (1.401298e-45) | |
| 259. copy_4_slots_unmasked $42..45 = result | |
| 260. copy_4_slots_masked result = Mask($42..45) | |
| 261. copy_4_slots_unmasked $42..45 = result | |
| 262. copy_constant $46 = 0x00000009 (1.261169e-44) | |
| 263. copy_constant $47 = 0x00000009 (1.261169e-44) | |
| 264. copy_constant $48 = 0x00000009 (1.261169e-44) | |
| 265. copy_constant $49 = 0x00000001 (1.401298e-45) | |
| 266. cmpeq_4_ints $42..45 = equal($42..45, $46..49) | |
| 267. bitwise_and_2_ints $42..43 &= $44..45 | |
| 268. bitwise_and_int $42 &= $43 | |
| 269. copy_slot_masked [loop_operator_eq].result = Mask($42) | |
| 270. copy_slot_masked $41 = Mask($42) | |
| 271. load_condition_mask CondMask = $50 | |
| 272. zero_slot_unmasked $21 = 0 | |
| 273. merge_condition_mask CondMask = $40 & $41 | |
| 274. branch_if_no_active_lanes branch_if_no_active_lanes +26 (#300) | |
| 275. copy_constant $22 = 0x00000009 (1.261169e-44) | |
| 276. swizzle_4 $22..25 = ($22..25).xxxx | |
| 277. copy_4_slots_unmasked result = $22..25 | |
| 278. branch_if_no_active_lanes branch_if_no_active_lanes +12 (#290) | |
| 279. copy_constant i = 0x00000001 (1.401298e-45) | |
| 280. copy_4_slots_unmasked $22..25 = result | |
| 281. copy_4_slots_masked result = Mask($22..25) | |
| 282. copy_slot_unmasked $22 = i | |
| 283. copy_constant $23 = 0x00000001 (1.401298e-45) | |
| 284. add_int $22 += $23 | |
| 285. copy_slot_masked i = Mask($22) | |
| 286. copy_constant $23 = 0x00000004 (5.605194e-45) | |
| 287. cmpne_int $22 = notEqual($22, $23) | |
| 288. stack_rewind | |
| 289. branch_if_no_active_lanes_eq branch -9 (#280) if no lanes of $22 == 0x00000000 (0.0) | |
| 290. copy_4_slots_unmasked $22..25 = result | |
| 291. copy_constant $26 = 0x00000009 (1.261169e-44) | |
| 292. copy_constant $27 = 0x00000001 (1.401298e-45) | |
| 293. copy_constant $28 = 0x00000002 (2.802597e-45) | |
| 294. copy_constant $29 = 0x00000003 (4.203895e-45) | |
| 295. cmpeq_4_ints $22..25 = equal($22..25, $26..29) | |
| 296. bitwise_and_2_ints $22..23 &= $24..25 | |
| 297. bitwise_and_int $22 &= $23 | |
| 298. copy_slot_masked [loop_operator_ne].result = Mask($22) | |
| 299. copy_slot_masked $21 = Mask($22) | |
| 300. load_condition_mask CondMask = $40 | |
| 301. copy_4_constants $0..3 = colorRed | |
| 302. merge_condition_mask CondMask = $20 & $21 | |
| 303. copy_4_constants $4..7 = colorGreen | |
| 304. copy_4_slots_masked $0..3 = Mask($4..7) | |
| 305. load_condition_mask CondMask = $20 | |
| 306. copy_4_slots_unmasked [main].result = $0..3 | |
| 307. load_src src.rgba = [main].result |