1. store_src_rg coords = src.rg 2. init_lane_masks CondMask = LoopMask = RetMask = true 3. store_condition_mask $165 = CondMask 4. store_condition_mask $149 = CondMask 5. store_condition_mask $97 = CondMask 6. store_condition_mask $66 = CondMask 7. store_condition_mask $51 = CondMask 8. branch_if_no_active_lanes branch_if_no_active_lanes +74 (label 6 at #82) 9. store_return_mask $52 = RetMask 10. zero_4_slots_unmasked m = 0 11. zero_4_slots_unmasked mm = 0 12. zero_2_slots_unmasked $53..54 = 0 13. swizzle_4 $53..56 = ($53..56).yxxy 14. copy_4_slots_unmasked z = $53..56 15. copy_4_constants $53..56 = testMatrix2x2 16. copy_4_slots_masked m = Mask($53..56) 17. copy_4_constants $53..56 = testMatrix2x2 18. copy_4_slots_masked m = Mask($53..56) 19. store_condition_mask $53 = CondMask 20. copy_4_slots_unmasked $54..57 = m 21. copy_4_constants $58..61 = testMatrix2x2 22. cmpne_4_floats $54..57 = notEqual($54..57, $58..61) 23. bitwise_or_2_ints $54..55 |= $56..57 24. bitwise_or_int $54 |= $55 25. merge_condition_mask CondMask = $53 & $54 26. zero_slot_unmasked $55 = 0 27. copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($55) 28. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 29. load_condition_mask CondMask = $53 30. store_condition_mask $53 = CondMask 31. copy_4_slots_unmasked $54..57 = m 32. copy_4_constants $58..61 = testMatrix2x2 33. cmpne_4_floats $54..57 = notEqual($54..57, $58..61) 34. bitwise_or_2_ints $54..55 |= $56..57 35. bitwise_or_int $54 |= $55 36. merge_condition_mask CondMask = $53 & $54 37. zero_slot_unmasked $55 = 0 38. copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($55) 39. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 40. load_condition_mask CondMask = $53 41. store_condition_mask $53 = CondMask 42. copy_4_slots_unmasked $54..57 = m 43. copy_4_constants $58..61 = testMatrix2x2 44. cmpne_4_floats $54..57 = notEqual($54..57, $58..61) 45. bitwise_or_2_ints $54..55 |= $56..57 46. bitwise_or_int $54 |= $55 47. merge_condition_mask CondMask = $53 & $54 48. zero_slot_unmasked $55 = 0 49. copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($55) 50. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 51. load_condition_mask CondMask = $53 52. zero_4_slots_unmasked $53..56 = 0 53. copy_4_slots_unmasked $57..60 = m 54. sub_4_floats $53..56 -= $57..60 55. copy_4_slots_masked m = Mask($53..56) 56. store_condition_mask $53 = CondMask 57. copy_4_slots_unmasked $54..57 = m 58. zero_4_slots_unmasked $58..61 = 0 59. copy_4_constants $62..65 = testMatrix2x2 60. sub_4_floats $58..61 -= $62..65 61. cmpne_4_floats $54..57 = notEqual($54..57, $58..61) 62. bitwise_or_2_ints $54..55 |= $56..57 63. bitwise_or_int $54 |= $55 64. merge_condition_mask CondMask = $53 & $54 65. zero_slot_unmasked $55 = 0 66. copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($55) 67. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 68. load_condition_mask CondMask = $53 69. zero_2_slots_unmasked $53..54 = 0 70. swizzle_4 $53..56 = ($53..56).yxxy 71. copy_4_slots_masked mm = Mask($53..56) 72. zero_2_slots_unmasked $53..54 = 0 73. swizzle_4 $53..56 = ($53..56).yxxy 74. copy_4_slots_masked mm = Mask($53..56) 75. copy_4_slots_unmasked $57..60 = z 76. cmpeq_4_floats $53..56 = equal($53..56, $57..60) 77. bitwise_and_2_ints $53..54 &= $55..56 78. bitwise_and_int $53 &= $54 79. copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($53) 80. load_return_mask RetMask = $52 81. copy_slot_unmasked $52 = [test_no_op_scalar_X_mat2].result 82. label label 0x00000006 83. zero_slot_unmasked $67 = 0 84. merge_condition_mask CondMask = $51 & $52 85. branch_if_no_active_lanes branch_if_no_active_lanes +129 (label 5 at #214) 86. store_return_mask $68 = RetMask 87. zero_4_slots_unmasked m₁(0..3) = 0 88. zero_4_slots_unmasked m₁(4..7) = 0 89. zero_4_slots_unmasked m₁(8), mm₁(0..2) = 0 90. zero_4_slots_unmasked mm₁(3..6) = 0 91. zero_2_slots_unmasked mm₁(7..8) = 0 92. zero_2_slots_unmasked $69..70 = 0 93. shuffle $69..77 = ($69..77)[1 0 0 0 1 0 0 0 1] 94. copy_4_slots_unmasked z₁(0..3) = $69..72 95. copy_4_slots_unmasked z₁(4..7) = $73..76 96. copy_slot_unmasked z₁(8) = $77 97. copy_4_constants $69..72 = testMatrix3x3(0..3) 98. copy_4_constants $73..76 = testMatrix3x3(4..7) 99. copy_constant $77 = testMatrix3x3(8) 100. copy_4_slots_masked m₁(0..3) = Mask($69..72) 101. copy_4_slots_masked m₁(4..7) = Mask($73..76) 102. copy_slot_masked m₁(8) = Mask($77) 103. copy_4_constants $69..72 = testMatrix3x3(0..3) 104. copy_4_constants $73..76 = testMatrix3x3(4..7) 105. copy_constant $77 = testMatrix3x3(8) 106. copy_4_slots_masked m₁(0..3) = Mask($69..72) 107. copy_4_slots_masked m₁(4..7) = Mask($73..76) 108. copy_slot_masked m₁(8) = Mask($77) 109. store_condition_mask $69 = CondMask 110. copy_4_slots_unmasked $70..73 = m₁(0..3) 111. copy_4_slots_unmasked $74..77 = m₁(4..7) 112. copy_slot_unmasked $78 = m₁(8) 113. copy_4_constants $79..82 = testMatrix3x3(0..3) 114. copy_4_constants $83..86 = testMatrix3x3(4..7) 115. copy_constant $87 = testMatrix3x3(8) 116. cmpne_n_floats $70..78 = notEqual($70..78, $79..87) 117. bitwise_or_4_ints $71..74 |= $75..78 118. bitwise_or_2_ints $71..72 |= $73..74 119. bitwise_or_int $71 |= $72 120. bitwise_or_int $70 |= $71 121. merge_condition_mask CondMask = $69 & $70 122. zero_slot_unmasked $71 = 0 123. copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($71) 124. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 125. load_condition_mask CondMask = $69 126. store_condition_mask $69 = CondMask 127. copy_4_slots_unmasked $70..73 = m₁(0..3) 128. copy_4_slots_unmasked $74..77 = m₁(4..7) 129. copy_slot_unmasked $78 = m₁(8) 130. copy_4_constants $79..82 = testMatrix3x3(0..3) 131. copy_4_constants $83..86 = testMatrix3x3(4..7) 132. copy_constant $87 = testMatrix3x3(8) 133. cmpne_n_floats $70..78 = notEqual($70..78, $79..87) 134. bitwise_or_4_ints $71..74 |= $75..78 135. bitwise_or_2_ints $71..72 |= $73..74 136. bitwise_or_int $71 |= $72 137. bitwise_or_int $70 |= $71 138. merge_condition_mask CondMask = $69 & $70 139. zero_slot_unmasked $71 = 0 140. copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($71) 141. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 142. load_condition_mask CondMask = $69 143. store_condition_mask $69 = CondMask 144. copy_4_slots_unmasked $70..73 = m₁(0..3) 145. copy_4_slots_unmasked $74..77 = m₁(4..7) 146. copy_slot_unmasked $78 = m₁(8) 147. copy_4_constants $79..82 = testMatrix3x3(0..3) 148. copy_4_constants $83..86 = testMatrix3x3(4..7) 149. copy_constant $87 = testMatrix3x3(8) 150. cmpne_n_floats $70..78 = notEqual($70..78, $79..87) 151. bitwise_or_4_ints $71..74 |= $75..78 152. bitwise_or_2_ints $71..72 |= $73..74 153. bitwise_or_int $71 |= $72 154. bitwise_or_int $70 |= $71 155. merge_condition_mask CondMask = $69 & $70 156. zero_slot_unmasked $71 = 0 157. copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($71) 158. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 159. load_condition_mask CondMask = $69 160. zero_4_slots_unmasked $69..72 = 0 161. zero_4_slots_unmasked $73..76 = 0 162. zero_slot_unmasked $77 = 0 163. copy_4_slots_unmasked $78..81 = m₁(0..3) 164. copy_4_slots_unmasked $82..85 = m₁(4..7) 165. copy_slot_unmasked $86 = m₁(8) 166. sub_n_floats $69..77 -= $78..86 167. copy_4_slots_masked m₁(0..3) = Mask($69..72) 168. copy_4_slots_masked m₁(4..7) = Mask($73..76) 169. copy_slot_masked m₁(8) = Mask($77) 170. store_condition_mask $69 = CondMask 171. copy_4_slots_unmasked $70..73 = m₁(0..3) 172. copy_4_slots_unmasked $74..77 = m₁(4..7) 173. copy_slot_unmasked $78 = m₁(8) 174. zero_4_slots_unmasked $79..82 = 0 175. zero_4_slots_unmasked $83..86 = 0 176. zero_slot_unmasked $87 = 0 177. copy_4_constants $88..91 = testMatrix3x3(0..3) 178. copy_4_constants $92..95 = testMatrix3x3(4..7) 179. copy_constant $96 = testMatrix3x3(8) 180. sub_n_floats $79..87 -= $88..96 181. cmpne_n_floats $70..78 = notEqual($70..78, $79..87) 182. bitwise_or_4_ints $71..74 |= $75..78 183. bitwise_or_2_ints $71..72 |= $73..74 184. bitwise_or_int $71 |= $72 185. bitwise_or_int $70 |= $71 186. merge_condition_mask CondMask = $69 & $70 187. zero_slot_unmasked $71 = 0 188. copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($71) 189. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 190. load_condition_mask CondMask = $69 191. zero_2_slots_unmasked $69..70 = 0 192. shuffle $69..77 = ($69..77)[1 0 0 0 1 0 0 0 1] 193. copy_4_slots_masked mm₁(0..3) = Mask($69..72) 194. copy_4_slots_masked mm₁(4..7) = Mask($73..76) 195. copy_slot_masked mm₁(8) = Mask($77) 196. zero_2_slots_unmasked $69..70 = 0 197. shuffle $69..77 = ($69..77)[1 0 0 0 1 0 0 0 1] 198. copy_4_slots_masked mm₁(0..3) = Mask($69..72) 199. copy_4_slots_masked mm₁(4..7) = Mask($73..76) 200. copy_slot_masked mm₁(8) = Mask($77) 201. copy_4_slots_unmasked $78..81 = z₁(0..3) 202. copy_4_slots_unmasked $82..85 = z₁(4..7) 203. copy_slot_unmasked $86 = z₁(8) 204. cmpeq_n_floats $69..77 = equal($69..77, $78..86) 205. bitwise_and_4_ints $70..73 &= $74..77 206. bitwise_and_2_ints $70..71 &= $72..73 207. bitwise_and_int $70 &= $71 208. bitwise_and_int $69 &= $70 209. copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($69) 210. load_return_mask RetMask = $68 211. copy_slot_unmasked $68 = [test_no_op_scalar_X_mat3].result 212. label label 0x00000007 213. copy_slot_masked $67 = Mask($68) 214. label label 0x00000005 215. load_condition_mask CondMask = $51 216. zero_slot_unmasked $98 = 0 217. merge_condition_mask CondMask = $66 & $67 218. branch_if_no_active_lanes branch_if_no_active_lanes +165 (label 4 at #383) 219. store_return_mask $99 = RetMask 220. copy_4_constants $100..103 = testInputs 221. copy_4_constants $104..107 = testInputs 222. copy_4_constants $108..111 = testInputs 223. copy_4_constants $112..115 = testInputs 224. copy_4_slots_unmasked testMatrix4x4(0..3) = $100..103 225. copy_4_slots_unmasked testMatrix4x4(4..7) = $104..107 226. copy_4_slots_unmasked testMatrix4x4(8..11) = $108..111 227. copy_4_slots_unmasked testMatrix4x4(12..15) = $112..115 228. zero_4_slots_unmasked m₂(0..3) = 0 229. zero_4_slots_unmasked m₂(4..7) = 0 230. zero_4_slots_unmasked m₂(8..11) = 0 231. zero_4_slots_unmasked m₂(12..15) = 0 232. zero_4_slots_unmasked mm₂(0..3) = 0 233. zero_4_slots_unmasked mm₂(4..7) = 0 234. zero_4_slots_unmasked mm₂(8..11) = 0 235. zero_4_slots_unmasked mm₂(12..15) = 0 236. zero_2_slots_unmasked $100..101 = 0 237. shuffle $100..115 = ($100..115)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 238. copy_4_slots_unmasked z₂(0..3) = $100..103 239. copy_4_slots_unmasked z₂(4..7) = $104..107 240. copy_4_slots_unmasked z₂(8..11) = $108..111 241. copy_4_slots_unmasked z₂(12..15) = $112..115 242. copy_4_slots_unmasked $100..103 = testMatrix4x4(0..3) 243. copy_4_slots_unmasked $104..107 = testMatrix4x4(4..7) 244. copy_4_slots_unmasked $108..111 = testMatrix4x4(8..11) 245. copy_4_slots_unmasked $112..115 = testMatrix4x4(12..15) 246. copy_4_slots_masked m₂(0..3) = Mask($100..103) 247. copy_4_slots_masked m₂(4..7) = Mask($104..107) 248. copy_4_slots_masked m₂(8..11) = Mask($108..111) 249. copy_4_slots_masked m₂(12..15) = Mask($112..115) 250. copy_4_slots_unmasked $100..103 = testMatrix4x4(0..3) 251. copy_4_slots_unmasked $104..107 = testMatrix4x4(4..7) 252. copy_4_slots_unmasked $108..111 = testMatrix4x4(8..11) 253. copy_4_slots_unmasked $112..115 = testMatrix4x4(12..15) 254. copy_4_slots_masked m₂(0..3) = Mask($100..103) 255. copy_4_slots_masked m₂(4..7) = Mask($104..107) 256. copy_4_slots_masked m₂(8..11) = Mask($108..111) 257. copy_4_slots_masked m₂(12..15) = Mask($112..115) 258. store_condition_mask $100 = CondMask 259. copy_4_slots_unmasked $101..104 = m₂(0..3) 260. copy_4_slots_unmasked $105..108 = m₂(4..7) 261. copy_4_slots_unmasked $109..112 = m₂(8..11) 262. copy_4_slots_unmasked $113..116 = m₂(12..15) 263. copy_4_slots_unmasked $117..120 = testMatrix4x4(0..3) 264. copy_4_slots_unmasked $121..124 = testMatrix4x4(4..7) 265. copy_4_slots_unmasked $125..128 = testMatrix4x4(8..11) 266. copy_4_slots_unmasked $129..132 = testMatrix4x4(12..15) 267. cmpne_n_floats $101..116 = notEqual($101..116, $117..132) 268. bitwise_or_4_ints $109..112 |= $113..116 269. bitwise_or_4_ints $105..108 |= $109..112 270. bitwise_or_4_ints $101..104 |= $105..108 271. bitwise_or_2_ints $101..102 |= $103..104 272. bitwise_or_int $101 |= $102 273. merge_condition_mask CondMask = $100 & $101 274. zero_slot_unmasked $102 = 0 275. copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($102) 276. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 277. load_condition_mask CondMask = $100 278. store_condition_mask $100 = CondMask 279. copy_4_slots_unmasked $101..104 = m₂(0..3) 280. copy_4_slots_unmasked $105..108 = m₂(4..7) 281. copy_4_slots_unmasked $109..112 = m₂(8..11) 282. copy_4_slots_unmasked $113..116 = m₂(12..15) 283. copy_4_slots_unmasked $117..120 = testMatrix4x4(0..3) 284. copy_4_slots_unmasked $121..124 = testMatrix4x4(4..7) 285. copy_4_slots_unmasked $125..128 = testMatrix4x4(8..11) 286. copy_4_slots_unmasked $129..132 = testMatrix4x4(12..15) 287. cmpne_n_floats $101..116 = notEqual($101..116, $117..132) 288. bitwise_or_4_ints $109..112 |= $113..116 289. bitwise_or_4_ints $105..108 |= $109..112 290. bitwise_or_4_ints $101..104 |= $105..108 291. bitwise_or_2_ints $101..102 |= $103..104 292. bitwise_or_int $101 |= $102 293. merge_condition_mask CondMask = $100 & $101 294. zero_slot_unmasked $102 = 0 295. copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($102) 296. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 297. load_condition_mask CondMask = $100 298. store_condition_mask $100 = CondMask 299. copy_4_slots_unmasked $101..104 = m₂(0..3) 300. copy_4_slots_unmasked $105..108 = m₂(4..7) 301. copy_4_slots_unmasked $109..112 = m₂(8..11) 302. copy_4_slots_unmasked $113..116 = m₂(12..15) 303. copy_4_slots_unmasked $117..120 = testMatrix4x4(0..3) 304. copy_4_slots_unmasked $121..124 = testMatrix4x4(4..7) 305. copy_4_slots_unmasked $125..128 = testMatrix4x4(8..11) 306. copy_4_slots_unmasked $129..132 = testMatrix4x4(12..15) 307. cmpne_n_floats $101..116 = notEqual($101..116, $117..132) 308. bitwise_or_4_ints $109..112 |= $113..116 309. bitwise_or_4_ints $105..108 |= $109..112 310. bitwise_or_4_ints $101..104 |= $105..108 311. bitwise_or_2_ints $101..102 |= $103..104 312. bitwise_or_int $101 |= $102 313. merge_condition_mask CondMask = $100 & $101 314. zero_slot_unmasked $102 = 0 315. copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($102) 316. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 317. load_condition_mask CondMask = $100 318. zero_4_slots_unmasked $100..103 = 0 319. zero_4_slots_unmasked $104..107 = 0 320. zero_4_slots_unmasked $108..111 = 0 321. zero_4_slots_unmasked $112..115 = 0 322. copy_4_slots_unmasked $116..119 = m₂(0..3) 323. copy_4_slots_unmasked $120..123 = m₂(4..7) 324. copy_4_slots_unmasked $124..127 = m₂(8..11) 325. copy_4_slots_unmasked $128..131 = m₂(12..15) 326. sub_n_floats $100..115 -= $116..131 327. copy_4_slots_masked m₂(0..3) = Mask($100..103) 328. copy_4_slots_masked m₂(4..7) = Mask($104..107) 329. copy_4_slots_masked m₂(8..11) = Mask($108..111) 330. copy_4_slots_masked m₂(12..15) = Mask($112..115) 331. store_condition_mask $100 = CondMask 332. copy_4_slots_unmasked $101..104 = m₂(0..3) 333. copy_4_slots_unmasked $105..108 = m₂(4..7) 334. copy_4_slots_unmasked $109..112 = m₂(8..11) 335. copy_4_slots_unmasked $113..116 = m₂(12..15) 336. zero_4_slots_unmasked $117..120 = 0 337. zero_4_slots_unmasked $121..124 = 0 338. zero_4_slots_unmasked $125..128 = 0 339. zero_4_slots_unmasked $129..132 = 0 340. copy_4_slots_unmasked $133..136 = testMatrix4x4(0..3) 341. copy_4_slots_unmasked $137..140 = testMatrix4x4(4..7) 342. copy_4_slots_unmasked $141..144 = testMatrix4x4(8..11) 343. copy_4_slots_unmasked $145..148 = testMatrix4x4(12..15) 344. sub_n_floats $117..132 -= $133..148 345. cmpne_n_floats $101..116 = notEqual($101..116, $117..132) 346. bitwise_or_4_ints $109..112 |= $113..116 347. bitwise_or_4_ints $105..108 |= $109..112 348. bitwise_or_4_ints $101..104 |= $105..108 349. bitwise_or_2_ints $101..102 |= $103..104 350. bitwise_or_int $101 |= $102 351. merge_condition_mask CondMask = $100 & $101 352. zero_slot_unmasked $102 = 0 353. copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($102) 354. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 355. load_condition_mask CondMask = $100 356. zero_2_slots_unmasked $100..101 = 0 357. shuffle $100..115 = ($100..115)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 358. copy_4_slots_masked mm₂(0..3) = Mask($100..103) 359. copy_4_slots_masked mm₂(4..7) = Mask($104..107) 360. copy_4_slots_masked mm₂(8..11) = Mask($108..111) 361. copy_4_slots_masked mm₂(12..15) = Mask($112..115) 362. zero_2_slots_unmasked $100..101 = 0 363. shuffle $100..115 = ($100..115)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 364. copy_4_slots_masked mm₂(0..3) = Mask($100..103) 365. copy_4_slots_masked mm₂(4..7) = Mask($104..107) 366. copy_4_slots_masked mm₂(8..11) = Mask($108..111) 367. copy_4_slots_masked mm₂(12..15) = Mask($112..115) 368. copy_4_slots_unmasked $116..119 = z₂(0..3) 369. copy_4_slots_unmasked $120..123 = z₂(4..7) 370. copy_4_slots_unmasked $124..127 = z₂(8..11) 371. copy_4_slots_unmasked $128..131 = z₂(12..15) 372. cmpeq_n_floats $100..115 = equal($100..115, $116..131) 373. bitwise_and_4_ints $108..111 &= $112..115 374. bitwise_and_4_ints $104..107 &= $108..111 375. bitwise_and_4_ints $100..103 &= $104..107 376. bitwise_and_2_ints $100..101 &= $102..103 377. bitwise_and_int $100 &= $101 378. copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($100) 379. load_return_mask RetMask = $99 380. copy_slot_unmasked $99 = [test_no_op_scalar_X_mat4].result 381. label label 0x00000008 382. copy_slot_masked $98 = Mask($99) 383. label label 0x00000004 384. load_condition_mask CondMask = $66 385. zero_slot_unmasked $150 = 0 386. merge_condition_mask CondMask = $97 & $98 387. branch_if_no_active_lanes branch_if_no_active_lanes +118 (label 3 at #505) 388. store_return_mask $151 = RetMask 389. zero_4_slots_unmasked m₃ = 0 390. zero_4_slots_unmasked mm₃ = 0 391. zero_2_slots_unmasked $152..153 = 0 392. swizzle_4 $152..155 = ($152..155).yxxy 393. copy_4_slots_unmasked z₃ = $152..155 394. copy_constant $152 = 0x3F800000 (1.0) 395. swizzle_4 $152..155 = ($152..155).xxxx 396. copy_4_slots_unmasked s = $152..155 397. copy_constant $152 = testInputs(0) 398. copy_slot_unmasked scalar = $152 399. zero_slot_unmasked $152 = 0 400. copy_slot_unmasked $153 = scalar 401. swizzle_4 $152..155 = ($152..155).yxxy 402. copy_4_slots_masked m₃ = Mask($152..155) 403. zero_slot_unmasked $152 = 0 404. copy_slot_unmasked $153 = scalar 405. swizzle_4 $152..155 = ($152..155).yxxy 406. copy_4_slots_masked m₃ = Mask($152..155) 407. store_condition_mask $152 = CondMask 408. copy_4_slots_unmasked $153..156 = m₃ 409. zero_slot_unmasked $157 = 0 410. copy_slot_unmasked $158 = scalar 411. swizzle_4 $157..160 = ($157..160).yxxy 412. cmpne_4_floats $153..156 = notEqual($153..156, $157..160) 413. bitwise_or_2_ints $153..154 |= $155..156 414. bitwise_or_int $153 |= $154 415. merge_condition_mask CondMask = $152 & $153 416. zero_slot_unmasked $154 = 0 417. copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($154) 418. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 419. load_condition_mask CondMask = $152 420. copy_slot_unmasked $152 = scalar 421. swizzle_4 $152..155 = ($152..155).xxxx 422. copy_4_slots_unmasked $156..159 = s 423. div_4_floats $152..155 /= $156..159 424. copy_4_slots_masked m₃ = Mask($152..155) 425. store_condition_mask $152 = CondMask 426. copy_4_slots_unmasked $153..156 = m₃ 427. copy_slot_unmasked $157 = scalar 428. copy_slot_unmasked $158 = scalar 429. copy_slot_unmasked $159 = scalar 430. copy_slot_unmasked $160 = scalar 431. cmpne_4_floats $153..156 = notEqual($153..156, $157..160) 432. bitwise_or_2_ints $153..154 |= $155..156 433. bitwise_or_int $153 |= $154 434. merge_condition_mask CondMask = $152 & $153 435. zero_slot_unmasked $154 = 0 436. copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($154) 437. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 438. load_condition_mask CondMask = $152 439. copy_slot_unmasked $152 = scalar 440. swizzle_4 $152..155 = ($152..155).xxxx 441. copy_4_slots_unmasked $156..159 = z₃ 442. add_4_floats $152..155 += $156..159 443. copy_4_slots_masked m₃ = Mask($152..155) 444. copy_4_slots_unmasked $152..155 = z₃ 445. copy_slot_unmasked $156 = scalar 446. swizzle_4 $156..159 = ($156..159).xxxx 447. add_4_floats $152..155 += $156..159 448. copy_4_slots_masked m₃ = Mask($152..155) 449. store_condition_mask $152 = CondMask 450. copy_4_slots_unmasked $153..156 = m₃ 451. copy_slot_unmasked $157 = scalar 452. copy_slot_unmasked $158 = scalar 453. copy_slot_unmasked $159 = scalar 454. copy_slot_unmasked $160 = scalar 455. cmpne_4_floats $153..156 = notEqual($153..156, $157..160) 456. bitwise_or_2_ints $153..154 |= $155..156 457. bitwise_or_int $153 |= $154 458. merge_condition_mask CondMask = $152 & $153 459. zero_slot_unmasked $154 = 0 460. copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($154) 461. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 462. load_condition_mask CondMask = $152 463. copy_slot_unmasked $152 = scalar 464. swizzle_4 $152..155 = ($152..155).xxxx 465. copy_4_slots_unmasked $156..159 = z₃ 466. sub_4_floats $152..155 -= $156..159 467. copy_4_slots_masked m₃ = Mask($152..155) 468. copy_4_slots_unmasked $152..155 = z₃ 469. copy_slot_unmasked $156 = scalar 470. swizzle_4 $156..159 = ($156..159).xxxx 471. sub_4_floats $152..155 -= $156..159 472. copy_4_slots_masked m₃ = Mask($152..155) 473. store_condition_mask $152 = CondMask 474. copy_4_slots_unmasked $153..156 = m₃ 475. zero_4_slots_unmasked $157..160 = 0 476. copy_slot_unmasked $161 = scalar 477. copy_slot_unmasked $162 = scalar 478. copy_slot_unmasked $163 = scalar 479. copy_slot_unmasked $164 = scalar 480. sub_4_floats $157..160 -= $161..164 481. cmpne_4_floats $153..156 = notEqual($153..156, $157..160) 482. bitwise_or_2_ints $153..154 |= $155..156 483. bitwise_or_int $153 |= $154 484. merge_condition_mask CondMask = $152 & $153 485. zero_slot_unmasked $154 = 0 486. copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($154) 487. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 488. load_condition_mask CondMask = $152 489. zero_2_slots_unmasked $152..153 = 0 490. swizzle_4 $152..155 = ($152..155).yxxy 491. copy_4_slots_masked mm₃ = Mask($152..155) 492. zero_2_slots_unmasked $152..153 = 0 493. swizzle_4 $152..155 = ($152..155).yxxy 494. copy_4_slots_masked mm₃ = Mask($152..155) 495. copy_4_slots_unmasked $156..159 = z₃ 496. cmpeq_4_floats $152..155 = equal($152..155, $156..159) 497. bitwise_and_2_ints $152..153 &= $154..155 498. bitwise_and_int $152 &= $153 499. copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($152) 500. load_return_mask RetMask = $151 501. copy_slot_unmasked $151 = [test_no_op_mat2_X_scalar].result 502. stack_rewind 503. label label 0x00000009 504. copy_slot_masked $150 = Mask($151) 505. label label 0x00000003 506. load_condition_mask CondMask = $97 507. zero_slot_unmasked $166 = 0 508. merge_condition_mask CondMask = $149 & $150 509. branch_if_no_active_lanes branch_if_no_active_lanes +187 (label 2 at #696) 510. store_return_mask $167 = RetMask 511. zero_4_slots_unmasked m₄(0..3) = 0 512. zero_4_slots_unmasked m₄(4..7) = 0 513. zero_4_slots_unmasked m₄(8), mm₄(0..2) = 0 514. zero_4_slots_unmasked mm₄(3..6) = 0 515. zero_2_slots_unmasked mm₄(7..8) = 0 516. zero_2_slots_unmasked $168..169 = 0 517. shuffle $168..176 = ($168..176)[1 0 0 0 1 0 0 0 1] 518. copy_4_slots_unmasked z₄(0..3) = $168..171 519. copy_4_slots_unmasked z₄(4..7) = $172..175 520. copy_slot_unmasked z₄(8) = $176 521. copy_constant $168 = 0x3F800000 (1.0) 522. swizzle_3 $168..170 = ($168..170).xxx 523. copy_constant $171 = 0x3F800000 (1.0) 524. swizzle_3 $171..173 = ($171..173).xxx 525. copy_constant $174 = 0x3F800000 (1.0) 526. swizzle_3 $174..176 = ($174..176).xxx 527. copy_4_slots_unmasked s₁(0..3) = $168..171 528. copy_4_slots_unmasked s₁(4..7) = $172..175 529. copy_slot_unmasked s₁(8) = $176 530. copy_constant $168 = testInputs(0) 531. copy_slot_unmasked scalar₁ = $168 532. swizzle_3 $168..170 = ($168..170).xxx 533. copy_3_slots_unmasked scalar3 = $168..170 534. zero_slot_unmasked $168 = 0 535. copy_slot_unmasked $169 = scalar₁ 536. shuffle $168..176 = ($168..176)[1 0 0 0 1 0 0 0 1] 537. copy_4_slots_masked m₄(0..3) = Mask($168..171) 538. copy_4_slots_masked m₄(4..7) = Mask($172..175) 539. copy_slot_masked m₄(8) = Mask($176) 540. zero_slot_unmasked $168 = 0 541. copy_slot_unmasked $169 = scalar₁ 542. shuffle $168..176 = ($168..176)[1 0 0 0 1 0 0 0 1] 543. copy_4_slots_masked m₄(0..3) = Mask($168..171) 544. copy_4_slots_masked m₄(4..7) = Mask($172..175) 545. copy_slot_masked m₄(8) = Mask($176) 546. store_condition_mask $168 = CondMask 547. copy_4_slots_unmasked $169..172 = m₄(0..3) 548. copy_4_slots_unmasked $173..176 = m₄(4..7) 549. copy_slot_unmasked $177 = m₄(8) 550. zero_slot_unmasked $178 = 0 551. copy_slot_unmasked $179 = scalar₁ 552. shuffle $178..186 = ($178..186)[1 0 0 0 1 0 0 0 1] 553. cmpne_n_floats $169..177 = notEqual($169..177, $178..186) 554. bitwise_or_4_ints $170..173 |= $174..177 555. bitwise_or_2_ints $170..171 |= $172..173 556. bitwise_or_int $170 |= $171 557. bitwise_or_int $169 |= $170 558. merge_condition_mask CondMask = $168 & $169 559. zero_slot_unmasked $170 = 0 560. copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($170) 561. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 562. load_condition_mask CondMask = $168 563. copy_slot_unmasked $168 = scalar₁ 564. swizzle_4 $168..171 = ($168..171).xxxx 565. copy_4_slots_unmasked $172..175 = $168..171 566. copy_slot_unmasked $176 = $175 567. copy_4_slots_unmasked $177..180 = s₁(0..3) 568. copy_4_slots_unmasked $181..184 = s₁(4..7) 569. copy_slot_unmasked $185 = s₁(8) 570. div_n_floats $168..176 /= $177..185 571. copy_4_slots_masked m₄(0..3) = Mask($168..171) 572. copy_4_slots_masked m₄(4..7) = Mask($172..175) 573. copy_slot_masked m₄(8) = Mask($176) 574. store_condition_mask $168 = CondMask 575. copy_4_slots_unmasked $169..172 = m₄(0..3) 576. copy_4_slots_unmasked $173..176 = m₄(4..7) 577. copy_slot_unmasked $177 = m₄(8) 578. copy_3_slots_unmasked $178..180 = scalar3 579. copy_3_slots_unmasked $181..183 = scalar3 580. copy_3_slots_unmasked $184..186 = scalar3 581. cmpne_n_floats $169..177 = notEqual($169..177, $178..186) 582. bitwise_or_4_ints $170..173 |= $174..177 583. bitwise_or_2_ints $170..171 |= $172..173 584. bitwise_or_int $170 |= $171 585. bitwise_or_int $169 |= $170 586. merge_condition_mask CondMask = $168 & $169 587. zero_slot_unmasked $170 = 0 588. copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($170) 589. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 590. load_condition_mask CondMask = $168 591. copy_slot_unmasked $168 = scalar₁ 592. swizzle_4 $168..171 = ($168..171).xxxx 593. copy_4_slots_unmasked $172..175 = $168..171 594. copy_slot_unmasked $176 = $175 595. copy_4_slots_unmasked $177..180 = z₄(0..3) 596. copy_4_slots_unmasked $181..184 = z₄(4..7) 597. copy_slot_unmasked $185 = z₄(8) 598. add_n_floats $168..176 += $177..185 599. copy_4_slots_masked m₄(0..3) = Mask($168..171) 600. copy_4_slots_masked m₄(4..7) = Mask($172..175) 601. copy_slot_masked m₄(8) = Mask($176) 602. copy_4_slots_unmasked $168..171 = z₄(0..3) 603. copy_4_slots_unmasked $172..175 = z₄(4..7) 604. copy_slot_unmasked $176 = z₄(8) 605. copy_slot_unmasked $177 = scalar₁ 606. swizzle_4 $177..180 = ($177..180).xxxx 607. copy_4_slots_unmasked $181..184 = $177..180 608. copy_slot_unmasked $185 = $184 609. add_n_floats $168..176 += $177..185 610. copy_4_slots_masked m₄(0..3) = Mask($168..171) 611. copy_4_slots_masked m₄(4..7) = Mask($172..175) 612. copy_slot_masked m₄(8) = Mask($176) 613. store_condition_mask $168 = CondMask 614. copy_4_slots_unmasked $169..172 = m₄(0..3) 615. copy_4_slots_unmasked $173..176 = m₄(4..7) 616. copy_slot_unmasked $177 = m₄(8) 617. copy_3_slots_unmasked $178..180 = scalar3 618. copy_3_slots_unmasked $181..183 = scalar3 619. copy_3_slots_unmasked $184..186 = scalar3 620. cmpne_n_floats $169..177 = notEqual($169..177, $178..186) 621. bitwise_or_4_ints $170..173 |= $174..177 622. bitwise_or_2_ints $170..171 |= $172..173 623. bitwise_or_int $170 |= $171 624. bitwise_or_int $169 |= $170 625. merge_condition_mask CondMask = $168 & $169 626. zero_slot_unmasked $170 = 0 627. copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($170) 628. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 629. load_condition_mask CondMask = $168 630. copy_slot_unmasked $168 = scalar₁ 631. swizzle_4 $168..171 = ($168..171).xxxx 632. copy_4_slots_unmasked $172..175 = $168..171 633. copy_slot_unmasked $176 = $175 634. copy_4_slots_unmasked $177..180 = z₄(0..3) 635. copy_4_slots_unmasked $181..184 = z₄(4..7) 636. copy_slot_unmasked $185 = z₄(8) 637. sub_n_floats $168..176 -= $177..185 638. copy_4_slots_masked m₄(0..3) = Mask($168..171) 639. copy_4_slots_masked m₄(4..7) = Mask($172..175) 640. copy_slot_masked m₄(8) = Mask($176) 641. copy_4_slots_unmasked $168..171 = z₄(0..3) 642. copy_4_slots_unmasked $172..175 = z₄(4..7) 643. copy_slot_unmasked $176 = z₄(8) 644. copy_slot_unmasked $177 = scalar₁ 645. swizzle_4 $177..180 = ($177..180).xxxx 646. copy_4_slots_unmasked $181..184 = $177..180 647. copy_slot_unmasked $185 = $184 648. sub_n_floats $168..176 -= $177..185 649. copy_4_slots_masked m₄(0..3) = Mask($168..171) 650. copy_4_slots_masked m₄(4..7) = Mask($172..175) 651. copy_slot_masked m₄(8) = Mask($176) 652. store_condition_mask $168 = CondMask 653. copy_4_slots_unmasked $169..172 = m₄(0..3) 654. copy_4_slots_unmasked $173..176 = m₄(4..7) 655. copy_slot_unmasked $177 = m₄(8) 656. zero_4_slots_unmasked $178..181 = 0 657. zero_4_slots_unmasked $182..185 = 0 658. zero_slot_unmasked $186 = 0 659. copy_3_slots_unmasked $187..189 = scalar3 660. copy_3_slots_unmasked $190..192 = scalar3 661. copy_3_slots_unmasked $193..195 = scalar3 662. sub_n_floats $178..186 -= $187..195 663. cmpne_n_floats $169..177 = notEqual($169..177, $178..186) 664. bitwise_or_4_ints $170..173 |= $174..177 665. bitwise_or_2_ints $170..171 |= $172..173 666. bitwise_or_int $170 |= $171 667. bitwise_or_int $169 |= $170 668. merge_condition_mask CondMask = $168 & $169 669. zero_slot_unmasked $170 = 0 670. copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($170) 671. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 672. load_condition_mask CondMask = $168 673. zero_2_slots_unmasked $168..169 = 0 674. shuffle $168..176 = ($168..176)[1 0 0 0 1 0 0 0 1] 675. copy_4_slots_masked mm₄(0..3) = Mask($168..171) 676. copy_4_slots_masked mm₄(4..7) = Mask($172..175) 677. copy_slot_masked mm₄(8) = Mask($176) 678. zero_2_slots_unmasked $168..169 = 0 679. shuffle $168..176 = ($168..176)[1 0 0 0 1 0 0 0 1] 680. copy_4_slots_masked mm₄(0..3) = Mask($168..171) 681. copy_4_slots_masked mm₄(4..7) = Mask($172..175) 682. copy_slot_masked mm₄(8) = Mask($176) 683. copy_4_slots_unmasked $177..180 = z₄(0..3) 684. copy_4_slots_unmasked $181..184 = z₄(4..7) 685. copy_slot_unmasked $185 = z₄(8) 686. cmpeq_n_floats $168..176 = equal($168..176, $177..185) 687. bitwise_and_4_ints $169..172 &= $173..176 688. bitwise_and_2_ints $169..170 &= $171..172 689. bitwise_and_int $169 &= $170 690. bitwise_and_int $168 &= $169 691. copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($168) 692. load_return_mask RetMask = $167 693. copy_slot_unmasked $167 = [test_no_op_mat3_X_scalar].result 694. label label 0x0000000A 695. copy_slot_masked $166 = Mask($167) 696. label label 0x00000002 697. load_condition_mask CondMask = $149 698. zero_slot_unmasked $0 = 0 699. merge_condition_mask CondMask = $165 & $166 700. branch_if_no_active_lanes branch_if_no_active_lanes +227 (label 1 at #927) 701. store_return_mask $1 = RetMask 702. zero_4_slots_unmasked m₅(0..3) = 0 703. zero_4_slots_unmasked m₅(4..7) = 0 704. zero_4_slots_unmasked m₅(8..11) = 0 705. zero_4_slots_unmasked m₅(12..15) = 0 706. zero_4_slots_unmasked mm₅(0..3) = 0 707. zero_4_slots_unmasked mm₅(4..7) = 0 708. zero_4_slots_unmasked mm₅(8..11) = 0 709. zero_4_slots_unmasked mm₅(12..15) = 0 710. zero_2_slots_unmasked $2..3 = 0 711. shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 712. copy_4_slots_unmasked z₅(0..3) = $2..5 713. copy_4_slots_unmasked z₅(4..7) = $6..9 714. copy_4_slots_unmasked z₅(8..11) = $10..13 715. copy_4_slots_unmasked z₅(12..15) = $14..17 716. copy_constant $2 = 0x3F800000 (1.0) 717. swizzle_4 $2..5 = ($2..5).xxxx 718. copy_constant $6 = 0x3F800000 (1.0) 719. swizzle_4 $6..9 = ($6..9).xxxx 720. copy_constant $10 = 0x3F800000 (1.0) 721. swizzle_4 $10..13 = ($10..13).xxxx 722. copy_constant $14 = 0x3F800000 (1.0) 723. swizzle_4 $14..17 = ($14..17).xxxx 724. copy_4_slots_unmasked s₂(0..3) = $2..5 725. copy_4_slots_unmasked s₂(4..7) = $6..9 726. copy_4_slots_unmasked s₂(8..11) = $10..13 727. copy_4_slots_unmasked s₂(12..15) = $14..17 728. copy_constant $2 = testInputs(0) 729. copy_slot_unmasked scalar₂ = $2 730. swizzle_4 $2..5 = ($2..5).xxxx 731. copy_4_slots_unmasked scalar4 = $2..5 732. zero_slot_unmasked $2 = 0 733. copy_slot_unmasked $3 = scalar₂ 734. shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 735. copy_4_slots_masked m₅(0..3) = Mask($2..5) 736. copy_4_slots_masked m₅(4..7) = Mask($6..9) 737. copy_4_slots_masked m₅(8..11) = Mask($10..13) 738. copy_4_slots_masked m₅(12..15) = Mask($14..17) 739. zero_slot_unmasked $2 = 0 740. copy_slot_unmasked $3 = scalar₂ 741. shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 742. copy_4_slots_masked m₅(0..3) = Mask($2..5) 743. copy_4_slots_masked m₅(4..7) = Mask($6..9) 744. copy_4_slots_masked m₅(8..11) = Mask($10..13) 745. copy_4_slots_masked m₅(12..15) = Mask($14..17) 746. store_condition_mask $2 = CondMask 747. copy_4_slots_unmasked $3..6 = m₅(0..3) 748. copy_4_slots_unmasked $7..10 = m₅(4..7) 749. copy_4_slots_unmasked $11..14 = m₅(8..11) 750. copy_4_slots_unmasked $15..18 = m₅(12..15) 751. zero_slot_unmasked $19 = 0 752. copy_slot_unmasked $20 = scalar₂ 753. shuffle $19..34 = ($19..34)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 754. cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 755. bitwise_or_4_ints $11..14 |= $15..18 756. bitwise_or_4_ints $7..10 |= $11..14 757. bitwise_or_4_ints $3..6 |= $7..10 758. bitwise_or_2_ints $3..4 |= $5..6 759. bitwise_or_int $3 |= $4 760. merge_condition_mask CondMask = $2 & $3 761. zero_slot_unmasked $4 = 0 762. copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 763. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 764. load_condition_mask CondMask = $2 765. copy_slot_unmasked $2 = scalar₂ 766. swizzle_4 $2..5 = ($2..5).xxxx 767. copy_4_slots_unmasked $6..9 = $2..5 768. copy_4_slots_unmasked $10..13 = $6..9 769. copy_4_slots_unmasked $14..17 = $10..13 770. copy_4_slots_unmasked $18..21 = s₂(0..3) 771. copy_4_slots_unmasked $22..25 = s₂(4..7) 772. copy_4_slots_unmasked $26..29 = s₂(8..11) 773. copy_4_slots_unmasked $30..33 = s₂(12..15) 774. div_n_floats $2..17 /= $18..33 775. copy_4_slots_masked m₅(0..3) = Mask($2..5) 776. copy_4_slots_masked m₅(4..7) = Mask($6..9) 777. copy_4_slots_masked m₅(8..11) = Mask($10..13) 778. copy_4_slots_masked m₅(12..15) = Mask($14..17) 779. store_condition_mask $2 = CondMask 780. copy_4_slots_unmasked $3..6 = m₅(0..3) 781. copy_4_slots_unmasked $7..10 = m₅(4..7) 782. copy_4_slots_unmasked $11..14 = m₅(8..11) 783. copy_4_slots_unmasked $15..18 = m₅(12..15) 784. copy_4_slots_unmasked $19..22 = scalar4 785. copy_4_slots_unmasked $23..26 = scalar4 786. copy_4_slots_unmasked $27..30 = scalar4 787. copy_4_slots_unmasked $31..34 = scalar4 788. cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 789. bitwise_or_4_ints $11..14 |= $15..18 790. bitwise_or_4_ints $7..10 |= $11..14 791. bitwise_or_4_ints $3..6 |= $7..10 792. bitwise_or_2_ints $3..4 |= $5..6 793. bitwise_or_int $3 |= $4 794. merge_condition_mask CondMask = $2 & $3 795. zero_slot_unmasked $4 = 0 796. copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 797. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 798. load_condition_mask CondMask = $2 799. copy_slot_unmasked $2 = scalar₂ 800. swizzle_4 $2..5 = ($2..5).xxxx 801. copy_4_slots_unmasked $6..9 = $2..5 802. copy_4_slots_unmasked $10..13 = $6..9 803. copy_4_slots_unmasked $14..17 = $10..13 804. copy_4_slots_unmasked $18..21 = z₅(0..3) 805. copy_4_slots_unmasked $22..25 = z₅(4..7) 806. copy_4_slots_unmasked $26..29 = z₅(8..11) 807. copy_4_slots_unmasked $30..33 = z₅(12..15) 808. add_n_floats $2..17 += $18..33 809. copy_4_slots_masked m₅(0..3) = Mask($2..5) 810. copy_4_slots_masked m₅(4..7) = Mask($6..9) 811. copy_4_slots_masked m₅(8..11) = Mask($10..13) 812. copy_4_slots_masked m₅(12..15) = Mask($14..17) 813. copy_4_slots_unmasked $2..5 = z₅(0..3) 814. copy_4_slots_unmasked $6..9 = z₅(4..7) 815. copy_4_slots_unmasked $10..13 = z₅(8..11) 816. copy_4_slots_unmasked $14..17 = z₅(12..15) 817. copy_slot_unmasked $18 = scalar₂ 818. swizzle_4 $18..21 = ($18..21).xxxx 819. copy_4_slots_unmasked $22..25 = $18..21 820. copy_4_slots_unmasked $26..29 = $22..25 821. copy_4_slots_unmasked $30..33 = $26..29 822. add_n_floats $2..17 += $18..33 823. copy_4_slots_masked m₅(0..3) = Mask($2..5) 824. copy_4_slots_masked m₅(4..7) = Mask($6..9) 825. copy_4_slots_masked m₅(8..11) = Mask($10..13) 826. copy_4_slots_masked m₅(12..15) = Mask($14..17) 827. store_condition_mask $2 = CondMask 828. copy_4_slots_unmasked $3..6 = m₅(0..3) 829. copy_4_slots_unmasked $7..10 = m₅(4..7) 830. copy_4_slots_unmasked $11..14 = m₅(8..11) 831. copy_4_slots_unmasked $15..18 = m₅(12..15) 832. copy_4_slots_unmasked $19..22 = scalar4 833. copy_4_slots_unmasked $23..26 = scalar4 834. copy_4_slots_unmasked $27..30 = scalar4 835. copy_4_slots_unmasked $31..34 = scalar4 836. cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 837. bitwise_or_4_ints $11..14 |= $15..18 838. bitwise_or_4_ints $7..10 |= $11..14 839. bitwise_or_4_ints $3..6 |= $7..10 840. bitwise_or_2_ints $3..4 |= $5..6 841. bitwise_or_int $3 |= $4 842. merge_condition_mask CondMask = $2 & $3 843. zero_slot_unmasked $4 = 0 844. copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 845. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 846. load_condition_mask CondMask = $2 847. copy_slot_unmasked $2 = scalar₂ 848. swizzle_4 $2..5 = ($2..5).xxxx 849. copy_4_slots_unmasked $6..9 = $2..5 850. copy_4_slots_unmasked $10..13 = $6..9 851. copy_4_slots_unmasked $14..17 = $10..13 852. copy_4_slots_unmasked $18..21 = z₅(0..3) 853. copy_4_slots_unmasked $22..25 = z₅(4..7) 854. copy_4_slots_unmasked $26..29 = z₅(8..11) 855. copy_4_slots_unmasked $30..33 = z₅(12..15) 856. sub_n_floats $2..17 -= $18..33 857. copy_4_slots_masked m₅(0..3) = Mask($2..5) 858. copy_4_slots_masked m₅(4..7) = Mask($6..9) 859. copy_4_slots_masked m₅(8..11) = Mask($10..13) 860. copy_4_slots_masked m₅(12..15) = Mask($14..17) 861. copy_4_slots_unmasked $2..5 = z₅(0..3) 862. copy_4_slots_unmasked $6..9 = z₅(4..7) 863. copy_4_slots_unmasked $10..13 = z₅(8..11) 864. copy_4_slots_unmasked $14..17 = z₅(12..15) 865. copy_slot_unmasked $18 = scalar₂ 866. swizzle_4 $18..21 = ($18..21).xxxx 867. copy_4_slots_unmasked $22..25 = $18..21 868. copy_4_slots_unmasked $26..29 = $22..25 869. copy_4_slots_unmasked $30..33 = $26..29 870. sub_n_floats $2..17 -= $18..33 871. copy_4_slots_masked m₅(0..3) = Mask($2..5) 872. copy_4_slots_masked m₅(4..7) = Mask($6..9) 873. copy_4_slots_masked m₅(8..11) = Mask($10..13) 874. copy_4_slots_masked m₅(12..15) = Mask($14..17) 875. store_condition_mask $2 = CondMask 876. copy_4_slots_unmasked $3..6 = m₅(0..3) 877. copy_4_slots_unmasked $7..10 = m₅(4..7) 878. copy_4_slots_unmasked $11..14 = m₅(8..11) 879. copy_4_slots_unmasked $15..18 = m₅(12..15) 880. zero_4_slots_unmasked $19..22 = 0 881. zero_4_slots_unmasked $23..26 = 0 882. zero_4_slots_unmasked $27..30 = 0 883. zero_4_slots_unmasked $31..34 = 0 884. copy_4_slots_unmasked $35..38 = scalar4 885. copy_4_slots_unmasked $39..42 = scalar4 886. copy_4_slots_unmasked $43..46 = scalar4 887. copy_4_slots_unmasked $47..50 = scalar4 888. sub_n_floats $19..34 -= $35..50 889. cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 890. bitwise_or_4_ints $11..14 |= $15..18 891. bitwise_or_4_ints $7..10 |= $11..14 892. bitwise_or_4_ints $3..6 |= $7..10 893. bitwise_or_2_ints $3..4 |= $5..6 894. bitwise_or_int $3 |= $4 895. merge_condition_mask CondMask = $2 & $3 896. zero_slot_unmasked $4 = 0 897. copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 898. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 899. load_condition_mask CondMask = $2 900. zero_2_slots_unmasked $2..3 = 0 901. shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 902. copy_4_slots_masked mm₅(0..3) = Mask($2..5) 903. copy_4_slots_masked mm₅(4..7) = Mask($6..9) 904. copy_4_slots_masked mm₅(8..11) = Mask($10..13) 905. copy_4_slots_masked mm₅(12..15) = Mask($14..17) 906. zero_2_slots_unmasked $2..3 = 0 907. shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 908. copy_4_slots_masked mm₅(0..3) = Mask($2..5) 909. copy_4_slots_masked mm₅(4..7) = Mask($6..9) 910. copy_4_slots_masked mm₅(8..11) = Mask($10..13) 911. copy_4_slots_masked mm₅(12..15) = Mask($14..17) 912. copy_4_slots_unmasked $18..21 = z₅(0..3) 913. copy_4_slots_unmasked $22..25 = z₅(4..7) 914. copy_4_slots_unmasked $26..29 = z₅(8..11) 915. copy_4_slots_unmasked $30..33 = z₅(12..15) 916. cmpeq_n_floats $2..17 = equal($2..17, $18..33) 917. bitwise_and_4_ints $10..13 &= $14..17 918. bitwise_and_4_ints $6..9 &= $10..13 919. bitwise_and_4_ints $2..5 &= $6..9 920. bitwise_and_2_ints $2..3 &= $4..5 921. bitwise_and_int $2 &= $3 922. copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($2) 923. load_return_mask RetMask = $1 924. copy_slot_unmasked $1 = [test_no_op_mat4_X_scalar].result 925. label label 0x0000000B 926. copy_slot_masked $0 = Mask($1) 927. label label 0x00000001 928. load_condition_mask CondMask = $165 929. swizzle_4 $0..3 = ($0..3).xxxx 930. copy_4_constants $4..7 = colorRed 931. copy_4_constants $8..11 = colorGreen 932. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 933. copy_4_slots_unmasked [main].result = $0..3 934. load_src src.rgba = [main].result