| 1. store_src_rg coords = src.rg | |
| 2. init_lane_masks CondMask = LoopMask = RetMask = true | |
| 3. store_condition_mask $76 = CondMask | |
| 4. store_condition_mask $56 = CondMask | |
| 5. store_condition_mask $40 = CondMask | |
| 6. store_condition_mask $27 = CondMask | |
| 7. store_condition_mask $18 = CondMask | |
| 8. branch_if_no_lanes_active branch_if_no_lanes_active +57 (label 6 at #65) | |
| 9. store_return_mask $19 = RetMask | |
| 10. zero_4_slots_unmasked v, vv = 0 | |
| 11. copy_2_constants $20..21 = testInputs(0..1) | |
| 12. copy_2_slots_masked v = Mask($20..21) | |
| 13. copy_2_constants $20..21 = testInputs(0..1) | |
| 14. copy_2_slots_masked v = Mask($20..21) | |
| 15. store_condition_mask $20 = CondMask | |
| 16. copy_2_slots_unmasked $21..22 = v | |
| 17. copy_2_constants $23..24 = testInputs(0..1) | |
| 18. cmpne_2_floats $21..22 = notEqual($21..22, $23..24) | |
| 19. bitwise_or_int $21 |= $22 | |
| 20. merge_condition_mask CondMask = $20 & $21 | |
| 21. zero_slot_unmasked $22 = 0 | |
| 22. copy_slot_masked [test_no_op_mat2_X_vec2].result = Mask($22) | |
| 23. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 24. load_condition_mask CondMask = $20 | |
| 25. store_condition_mask $20 = CondMask | |
| 26. copy_2_slots_unmasked $21..22 = v | |
| 27. copy_2_constants $23..24 = testInputs(0..1) | |
| 28. cmpne_2_floats $21..22 = notEqual($21..22, $23..24) | |
| 29. bitwise_or_int $21 |= $22 | |
| 30. merge_condition_mask CondMask = $20 & $21 | |
| 31. zero_slot_unmasked $22 = 0 | |
| 32. copy_slot_masked [test_no_op_mat2_X_vec2].result = Mask($22) | |
| 33. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 34. load_condition_mask CondMask = $20 | |
| 35. zero_2_slots_unmasked $20..21 = 0 | |
| 36. copy_2_constants $22..23 = testInputs(0..1) | |
| 37. sub_2_floats $20..21 -= $22..23 | |
| 38. copy_2_slots_masked v = Mask($20..21) | |
| 39. zero_2_slots_unmasked $20..21 = 0 | |
| 40. copy_2_constants $22..23 = testInputs(0..1) | |
| 41. sub_2_floats $20..21 -= $22..23 | |
| 42. copy_2_slots_masked v = Mask($20..21) | |
| 43. store_condition_mask $20 = CondMask | |
| 44. copy_2_slots_unmasked $21..22 = v | |
| 45. zero_2_slots_unmasked $23..24 = 0 | |
| 46. copy_2_constants $25..26 = testInputs(0..1) | |
| 47. sub_2_floats $23..24 -= $25..26 | |
| 48. cmpne_2_floats $21..22 = notEqual($21..22, $23..24) | |
| 49. bitwise_or_int $21 |= $22 | |
| 50. merge_condition_mask CondMask = $20 & $21 | |
| 51. zero_slot_unmasked $22 = 0 | |
| 52. copy_slot_masked [test_no_op_mat2_X_vec2].result = Mask($22) | |
| 53. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 54. load_condition_mask CondMask = $20 | |
| 55. zero_2_slots_unmasked $20..21 = 0 | |
| 56. copy_2_slots_masked vv = Mask($20..21) | |
| 57. zero_2_slots_unmasked $20..21 = 0 | |
| 58. copy_2_slots_masked vv = Mask($20..21) | |
| 59. zero_2_slots_unmasked $22..23 = 0 | |
| 60. cmpeq_2_floats $20..21 = equal($20..21, $22..23) | |
| 61. bitwise_and_int $20 &= $21 | |
| 62. copy_slot_masked [test_no_op_mat2_X_vec2].result = Mask($20) | |
| 63. load_return_mask RetMask = $19 | |
| 64. copy_slot_unmasked $19 = [test_no_op_mat2_X_vec2].result | |
| 65. label label 0x00000006 | |
| 66. zero_slot_unmasked $28 = 0 | |
| 67. merge_condition_mask CondMask = $18 & $19 | |
| 68. branch_if_no_lanes_active branch_if_no_lanes_active +64 (label 5 at #132) | |
| 69. store_return_mask $29 = RetMask | |
| 70. zero_4_slots_unmasked v₁, vv₁(0) = 0 | |
| 71. zero_2_slots_unmasked vv₁(1..2) = 0 | |
| 72. copy_3_constants $30..32 = testInputs(0..2) | |
| 73. copy_3_slots_masked v₁ = Mask($30..32) | |
| 74. copy_3_constants $30..32 = testInputs(0..2) | |
| 75. copy_3_slots_masked v₁ = Mask($30..32) | |
| 76. store_condition_mask $30 = CondMask | |
| 77. copy_3_slots_unmasked $31..33 = v₁ | |
| 78. copy_3_constants $34..36 = testInputs(0..2) | |
| 79. cmpne_3_floats $31..33 = notEqual($31..33, $34..36) | |
| 80. bitwise_or_int $32 |= $33 | |
| 81. bitwise_or_int $31 |= $32 | |
| 82. merge_condition_mask CondMask = $30 & $31 | |
| 83. zero_slot_unmasked $32 = 0 | |
| 84. copy_slot_masked [test_no_op_mat3_X_vec3].result = Mask($32) | |
| 85. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 86. load_condition_mask CondMask = $30 | |
| 87. store_condition_mask $30 = CondMask | |
| 88. copy_3_slots_unmasked $31..33 = v₁ | |
| 89. copy_3_constants $34..36 = testInputs(0..2) | |
| 90. cmpne_3_floats $31..33 = notEqual($31..33, $34..36) | |
| 91. bitwise_or_int $32 |= $33 | |
| 92. bitwise_or_int $31 |= $32 | |
| 93. merge_condition_mask CondMask = $30 & $31 | |
| 94. zero_slot_unmasked $32 = 0 | |
| 95. copy_slot_masked [test_no_op_mat3_X_vec3].result = Mask($32) | |
| 96. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 97. load_condition_mask CondMask = $30 | |
| 98. zero_3_slots_unmasked $30..32 = 0 | |
| 99. copy_3_constants $33..35 = testInputs(0..2) | |
| 100. sub_3_floats $30..32 -= $33..35 | |
| 101. copy_3_slots_masked v₁ = Mask($30..32) | |
| 102. zero_3_slots_unmasked $30..32 = 0 | |
| 103. copy_3_constants $33..35 = testInputs(0..2) | |
| 104. sub_3_floats $30..32 -= $33..35 | |
| 105. copy_3_slots_masked v₁ = Mask($30..32) | |
| 106. store_condition_mask $30 = CondMask | |
| 107. copy_3_slots_unmasked $31..33 = v₁ | |
| 108. zero_3_slots_unmasked $34..36 = 0 | |
| 109. copy_3_constants $37..39 = testInputs(0..2) | |
| 110. sub_3_floats $34..36 -= $37..39 | |
| 111. cmpne_3_floats $31..33 = notEqual($31..33, $34..36) | |
| 112. bitwise_or_int $32 |= $33 | |
| 113. bitwise_or_int $31 |= $32 | |
| 114. merge_condition_mask CondMask = $30 & $31 | |
| 115. zero_slot_unmasked $32 = 0 | |
| 116. copy_slot_masked [test_no_op_mat3_X_vec3].result = Mask($32) | |
| 117. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 118. load_condition_mask CondMask = $30 | |
| 119. zero_3_slots_unmasked $30..32 = 0 | |
| 120. copy_3_slots_masked vv₁ = Mask($30..32) | |
| 121. zero_3_slots_unmasked $30..32 = 0 | |
| 122. copy_3_slots_masked vv₁ = Mask($30..32) | |
| 123. zero_3_slots_unmasked $33..35 = 0 | |
| 124. cmpeq_3_floats $30..32 = equal($30..32, $33..35) | |
| 125. bitwise_and_int $31 &= $32 | |
| 126. bitwise_and_int $30 &= $31 | |
| 127. copy_slot_masked [test_no_op_mat3_X_vec3].result = Mask($30) | |
| 128. load_return_mask RetMask = $29 | |
| 129. copy_slot_unmasked $29 = [test_no_op_mat3_X_vec3].result | |
| 130. label label 0x00000007 | |
| 131. copy_slot_masked $28 = Mask($29) | |
| 132. label label 0x00000005 | |
| 133. load_condition_mask CondMask = $18 | |
| 134. zero_slot_unmasked $41 = 0 | |
| 135. merge_condition_mask CondMask = $27 & $28 | |
| 136. branch_if_no_lanes_active branch_if_no_lanes_active +64 (label 4 at #200) | |
| 137. store_return_mask $42 = RetMask | |
| 138. zero_4_slots_unmasked v₂ = 0 | |
| 139. zero_4_slots_unmasked vv₂ = 0 | |
| 140. copy_4_constants $43..46 = testInputs | |
| 141. copy_4_slots_masked v₂ = Mask($43..46) | |
| 142. copy_4_constants $43..46 = testInputs | |
| 143. copy_4_slots_masked v₂ = Mask($43..46) | |
| 144. store_condition_mask $43 = CondMask | |
| 145. copy_4_slots_unmasked $44..47 = v₂ | |
| 146. copy_4_constants $48..51 = testInputs | |
| 147. cmpne_4_floats $44..47 = notEqual($44..47, $48..51) | |
| 148. bitwise_or_2_ints $44..45 |= $46..47 | |
| 149. bitwise_or_int $44 |= $45 | |
| 150. merge_condition_mask CondMask = $43 & $44 | |
| 151. zero_slot_unmasked $45 = 0 | |
| 152. copy_slot_masked [test_no_op_mat4_X_vec4].result = Mask($45) | |
| 153. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 154. load_condition_mask CondMask = $43 | |
| 155. store_condition_mask $43 = CondMask | |
| 156. copy_4_slots_unmasked $44..47 = v₂ | |
| 157. copy_4_constants $48..51 = testInputs | |
| 158. cmpne_4_floats $44..47 = notEqual($44..47, $48..51) | |
| 159. bitwise_or_2_ints $44..45 |= $46..47 | |
| 160. bitwise_or_int $44 |= $45 | |
| 161. merge_condition_mask CondMask = $43 & $44 | |
| 162. zero_slot_unmasked $45 = 0 | |
| 163. copy_slot_masked [test_no_op_mat4_X_vec4].result = Mask($45) | |
| 164. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 165. load_condition_mask CondMask = $43 | |
| 166. zero_4_slots_unmasked $43..46 = 0 | |
| 167. copy_4_constants $47..50 = testInputs | |
| 168. sub_4_floats $43..46 -= $47..50 | |
| 169. copy_4_slots_masked v₂ = Mask($43..46) | |
| 170. zero_4_slots_unmasked $43..46 = 0 | |
| 171. copy_4_constants $47..50 = testInputs | |
| 172. sub_4_floats $43..46 -= $47..50 | |
| 173. copy_4_slots_masked v₂ = Mask($43..46) | |
| 174. store_condition_mask $43 = CondMask | |
| 175. copy_4_slots_unmasked $44..47 = v₂ | |
| 176. zero_4_slots_unmasked $48..51 = 0 | |
| 177. copy_4_constants $52..55 = testInputs | |
| 178. sub_4_floats $48..51 -= $52..55 | |
| 179. cmpne_4_floats $44..47 = notEqual($44..47, $48..51) | |
| 180. bitwise_or_2_ints $44..45 |= $46..47 | |
| 181. bitwise_or_int $44 |= $45 | |
| 182. merge_condition_mask CondMask = $43 & $44 | |
| 183. zero_slot_unmasked $45 = 0 | |
| 184. copy_slot_masked [test_no_op_mat4_X_vec4].result = Mask($45) | |
| 185. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 186. load_condition_mask CondMask = $43 | |
| 187. zero_4_slots_unmasked $43..46 = 0 | |
| 188. copy_4_slots_masked vv₂ = Mask($43..46) | |
| 189. zero_4_slots_unmasked $43..46 = 0 | |
| 190. copy_4_slots_masked vv₂ = Mask($43..46) | |
| 191. zero_4_slots_unmasked $47..50 = 0 | |
| 192. cmpeq_4_floats $43..46 = equal($43..46, $47..50) | |
| 193. bitwise_and_2_ints $43..44 &= $45..46 | |
| 194. bitwise_and_int $43 &= $44 | |
| 195. copy_slot_masked [test_no_op_mat4_X_vec4].result = Mask($43) | |
| 196. load_return_mask RetMask = $42 | |
| 197. copy_slot_unmasked $42 = [test_no_op_mat4_X_vec4].result | |
| 198. label label 0x00000008 | |
| 199. copy_slot_masked $41 = Mask($42) | |
| 200. label label 0x00000004 | |
| 201. load_condition_mask CondMask = $27 | |
| 202. zero_slot_unmasked $57 = 0 | |
| 203. merge_condition_mask CondMask = $40 & $41 | |
| 204. branch_if_no_lanes_active branch_if_no_lanes_active +100 (label 3 at #304) | |
| 205. store_return_mask $58 = RetMask | |
| 206. copy_constant $59 = 0xBF800000 (-1.0) | |
| 207. copy_slot_unmasked $60 = $59 | |
| 208. copy_2_slots_unmasked n = $59..60 | |
| 209. copy_constant $59 = 0x3F800000 (1.0) | |
| 210. copy_slot_unmasked $60 = $59 | |
| 211. copy_2_slots_unmasked i = $59..60 | |
| 212. zero_4_slots_unmasked z, v₃ = 0 | |
| 213. zero_2_slots_unmasked vv₃ = 0 | |
| 214. zero_2_slots_unmasked $59..60 = 0 | |
| 215. copy_2_slots_masked vv₃ = Mask($59..60) | |
| 216. zero_2_slots_unmasked $59..60 = 0 | |
| 217. copy_2_slots_masked vv₃ = Mask($59..60) | |
| 218. store_condition_mask $59 = CondMask | |
| 219. copy_2_slots_unmasked $60..61 = vv₃ | |
| 220. copy_2_slots_unmasked $62..63 = z | |
| 221. cmpne_2_floats $60..61 = notEqual($60..61, $62..63) | |
| 222. bitwise_or_int $60 |= $61 | |
| 223. merge_condition_mask CondMask = $59 & $60 | |
| 224. zero_slot_unmasked $61 = 0 | |
| 225. copy_slot_masked [test_no_op_vec2_X_mat2].result = Mask($61) | |
| 226. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 227. load_condition_mask CondMask = $59 | |
| 228. copy_2_slots_unmasked $27..28 = i | |
| 229. copy_4_constants $29..32 = testMatrix2x2 | |
| 230. copy_4_slots_unmasked $59..62 = $27..30 | |
| 231. dot_2_floats $59 = dot($59..60, $61..62) | |
| 232. copy_2_slots_unmasked $60..61 = $27..28 | |
| 233. copy_2_slots_unmasked $62..63 = $31..32 | |
| 234. dot_2_floats $60 = dot($60..61, $62..63) | |
| 235. copy_2_slots_masked v₃ = Mask($59..60) | |
| 236. store_condition_mask $59 = CondMask | |
| 237. copy_2_slots_unmasked $60..61 = v₃ | |
| 238. copy_constant $62 = 0x40400000 (3.0) | |
| 239. copy_constant $63 = 0x40E00000 (7.0) | |
| 240. cmpne_2_floats $60..61 = notEqual($60..61, $62..63) | |
| 241. bitwise_or_int $60 |= $61 | |
| 242. merge_condition_mask CondMask = $59 & $60 | |
| 243. zero_slot_unmasked $61 = 0 | |
| 244. copy_slot_masked [test_no_op_vec2_X_mat2].result = Mask($61) | |
| 245. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 246. load_condition_mask CondMask = $59 | |
| 247. copy_4_constants $27..30 = testMatrix2x2 | |
| 248. swizzle_3 $28..30 = ($28..30).yxz | |
| 249. copy_2_slots_unmasked $31..32 = i | |
| 250. copy_2_slots_unmasked $59..60 = $27..28 | |
| 251. copy_2_slots_unmasked $61..62 = $31..32 | |
| 252. dot_2_floats $59 = dot($59..60, $61..62) | |
| 253. copy_4_slots_unmasked $60..63 = $29..32 | |
| 254. dot_2_floats $60 = dot($60..61, $62..63) | |
| 255. copy_2_slots_masked v₃ = Mask($59..60) | |
| 256. store_condition_mask $59 = CondMask | |
| 257. copy_2_slots_unmasked $60..61 = v₃ | |
| 258. copy_constant $62 = 0x40800000 (4.0) | |
| 259. copy_constant $63 = 0x40C00000 (6.0) | |
| 260. cmpne_2_floats $60..61 = notEqual($60..61, $62..63) | |
| 261. bitwise_or_int $60 |= $61 | |
| 262. merge_condition_mask CondMask = $59 & $60 | |
| 263. zero_slot_unmasked $61 = 0 | |
| 264. copy_slot_masked [test_no_op_vec2_X_mat2].result = Mask($61) | |
| 265. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 266. load_condition_mask CondMask = $59 | |
| 267. copy_2_slots_unmasked $27..28 = n | |
| 268. copy_4_constants $29..32 = testMatrix2x2 | |
| 269. copy_4_slots_unmasked $59..62 = $27..30 | |
| 270. dot_2_floats $59 = dot($59..60, $61..62) | |
| 271. copy_2_slots_unmasked $60..61 = $27..28 | |
| 272. copy_2_slots_unmasked $62..63 = $31..32 | |
| 273. dot_2_floats $60 = dot($60..61, $62..63) | |
| 274. copy_2_slots_masked v₃ = Mask($59..60) | |
| 275. store_condition_mask $59 = CondMask | |
| 276. copy_2_slots_unmasked $60..61 = v₃ | |
| 277. copy_constant $62 = 0xC0400000 (-3.0) | |
| 278. copy_constant $63 = 0xC0E00000 (-7.0) | |
| 279. cmpne_2_floats $60..61 = notEqual($60..61, $62..63) | |
| 280. bitwise_or_int $60 |= $61 | |
| 281. merge_condition_mask CondMask = $59 & $60 | |
| 282. zero_slot_unmasked $61 = 0 | |
| 283. copy_slot_masked [test_no_op_vec2_X_mat2].result = Mask($61) | |
| 284. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 285. load_condition_mask CondMask = $59 | |
| 286. copy_4_constants $27..30 = testMatrix2x2 | |
| 287. swizzle_3 $28..30 = ($28..30).yxz | |
| 288. copy_2_slots_unmasked $31..32 = n | |
| 289. copy_2_slots_unmasked $59..60 = $27..28 | |
| 290. copy_2_slots_unmasked $61..62 = $31..32 | |
| 291. dot_2_floats $59 = dot($59..60, $61..62) | |
| 292. copy_4_slots_unmasked $60..63 = $29..32 | |
| 293. dot_2_floats $60 = dot($60..61, $62..63) | |
| 294. copy_2_slots_masked v₃ = Mask($59..60) | |
| 295. copy_constant $61 = 0xC0800000 (-4.0) | |
| 296. copy_constant $62 = 0xC0C00000 (-6.0) | |
| 297. cmpeq_2_floats $59..60 = equal($59..60, $61..62) | |
| 298. bitwise_and_int $59 &= $60 | |
| 299. copy_slot_masked [test_no_op_vec2_X_mat2].result = Mask($59) | |
| 300. load_return_mask RetMask = $58 | |
| 301. copy_slot_unmasked $58 = [test_no_op_vec2_X_mat2].result | |
| 302. label label 0x00000009 | |
| 303. copy_slot_masked $57 = Mask($58) | |
| 304. label label 0x00000003 | |
| 305. load_condition_mask CondMask = $40 | |
| 306. zero_slot_unmasked $77 = 0 | |
| 307. merge_condition_mask CondMask = $56 & $57 | |
| 308. branch_if_no_lanes_active branch_if_no_lanes_active +134 (label 2 at #442) | |
| 309. store_return_mask $78 = RetMask | |
| 310. copy_constant $79 = 0xBF800000 (-1.0) | |
| 311. swizzle_3 $79..81 = ($79..81).xxx | |
| 312. copy_3_slots_unmasked n₁ = $79..81 | |
| 313. copy_constant $79 = 0x3F800000 (1.0) | |
| 314. swizzle_3 $79..81 = ($79..81).xxx | |
| 315. copy_3_slots_unmasked i₁ = $79..81 | |
| 316. zero_4_slots_unmasked z₁, v₄(0) = 0 | |
| 317. zero_4_slots_unmasked v₄(1..2), vv₄(0..1) = 0 | |
| 318. zero_slot_unmasked vv₄(2) = 0 | |
| 319. zero_3_slots_unmasked $79..81 = 0 | |
| 320. copy_3_slots_masked vv₄ = Mask($79..81) | |
| 321. zero_3_slots_unmasked $79..81 = 0 | |
| 322. copy_3_slots_masked vv₄ = Mask($79..81) | |
| 323. store_condition_mask $79 = CondMask | |
| 324. copy_3_slots_unmasked $80..82 = vv₄ | |
| 325. copy_3_slots_unmasked $83..85 = z₁ | |
| 326. cmpne_3_floats $80..82 = notEqual($80..82, $83..85) | |
| 327. bitwise_or_int $81 |= $82 | |
| 328. bitwise_or_int $80 |= $81 | |
| 329. merge_condition_mask CondMask = $79 & $80 | |
| 330. zero_slot_unmasked $81 = 0 | |
| 331. copy_slot_masked [test_no_op_vec3_X_mat3].result = Mask($81) | |
| 332. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 333. load_condition_mask CondMask = $79 | |
| 334. copy_3_slots_unmasked $40..42 = i₁ | |
| 335. copy_4_constants $43..46 = testMatrix3x3(0..3) | |
| 336. copy_4_constants $47..50 = testMatrix3x3(4..7) | |
| 337. copy_constant $51 = testMatrix3x3(8) | |
| 338. copy_4_slots_unmasked $79..82 = $40..43 | |
| 339. copy_2_slots_unmasked $83..84 = $44..45 | |
| 340. dot_3_floats $79 = dot($79..81, $82..84) | |
| 341. copy_3_slots_unmasked $80..82 = $40..42 | |
| 342. copy_3_slots_unmasked $83..85 = $46..48 | |
| 343. dot_3_floats $80 = dot($80..82, $83..85) | |
| 344. copy_3_slots_unmasked $81..83 = $40..42 | |
| 345. copy_3_slots_unmasked $84..86 = $49..51 | |
| 346. dot_3_floats $81 = dot($81..83, $84..86) | |
| 347. copy_3_slots_masked v₄ = Mask($79..81) | |
| 348. store_condition_mask $79 = CondMask | |
| 349. copy_3_slots_unmasked $80..82 = v₄ | |
| 350. copy_constant $83 = 0x40C00000 (6.0) | |
| 351. copy_constant $84 = 0x41700000 (15.0) | |
| 352. copy_constant $85 = 0x41C00000 (24.0) | |
| 353. cmpne_3_floats $80..82 = notEqual($80..82, $83..85) | |
| 354. bitwise_or_int $81 |= $82 | |
| 355. bitwise_or_int $80 |= $81 | |
| 356. merge_condition_mask CondMask = $79 & $80 | |
| 357. zero_slot_unmasked $81 = 0 | |
| 358. copy_slot_masked [test_no_op_vec3_X_mat3].result = Mask($81) | |
| 359. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 360. load_condition_mask CondMask = $79 | |
| 361. copy_4_constants $40..43 = testMatrix3x3(0..3) | |
| 362. copy_4_constants $44..47 = testMatrix3x3(4..7) | |
| 363. copy_constant $48 = testMatrix3x3(8) | |
| 364. shuffle $41..48 = ($41..48)[2 5 0 3 6 1 4 7] | |
| 365. copy_3_slots_unmasked $49..51 = i₁ | |
| 366. copy_3_slots_unmasked $79..81 = $40..42 | |
| 367. copy_3_slots_unmasked $82..84 = $49..51 | |
| 368. dot_3_floats $79 = dot($79..81, $82..84) | |
| 369. copy_3_slots_unmasked $80..82 = $43..45 | |
| 370. copy_3_slots_unmasked $83..85 = $49..51 | |
| 371. dot_3_floats $80 = dot($80..82, $83..85) | |
| 372. copy_4_slots_unmasked $81..84 = $46..49 | |
| 373. copy_2_slots_unmasked $85..86 = $50..51 | |
| 374. dot_3_floats $81 = dot($81..83, $84..86) | |
| 375. copy_3_slots_masked v₄ = Mask($79..81) | |
| 376. store_condition_mask $79 = CondMask | |
| 377. copy_3_slots_unmasked $80..82 = v₄ | |
| 378. copy_constant $83 = 0x41400000 (12.0) | |
| 379. copy_constant $84 = 0x41700000 (15.0) | |
| 380. copy_constant $85 = 0x41900000 (18.0) | |
| 381. cmpne_3_floats $80..82 = notEqual($80..82, $83..85) | |
| 382. bitwise_or_int $81 |= $82 | |
| 383. bitwise_or_int $80 |= $81 | |
| 384. merge_condition_mask CondMask = $79 & $80 | |
| 385. zero_slot_unmasked $81 = 0 | |
| 386. copy_slot_masked [test_no_op_vec3_X_mat3].result = Mask($81) | |
| 387. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 388. load_condition_mask CondMask = $79 | |
| 389. copy_3_slots_unmasked $40..42 = n₁ | |
| 390. copy_4_constants $43..46 = testMatrix3x3(0..3) | |
| 391. copy_4_constants $47..50 = testMatrix3x3(4..7) | |
| 392. copy_constant $51 = testMatrix3x3(8) | |
| 393. copy_4_slots_unmasked $79..82 = $40..43 | |
| 394. copy_2_slots_unmasked $83..84 = $44..45 | |
| 395. dot_3_floats $79 = dot($79..81, $82..84) | |
| 396. copy_3_slots_unmasked $80..82 = $40..42 | |
| 397. copy_3_slots_unmasked $83..85 = $46..48 | |
| 398. dot_3_floats $80 = dot($80..82, $83..85) | |
| 399. copy_3_slots_unmasked $81..83 = $40..42 | |
| 400. copy_3_slots_unmasked $84..86 = $49..51 | |
| 401. dot_3_floats $81 = dot($81..83, $84..86) | |
| 402. copy_3_slots_masked v₄ = Mask($79..81) | |
| 403. store_condition_mask $79 = CondMask | |
| 404. copy_3_slots_unmasked $80..82 = v₄ | |
| 405. copy_constant $83 = 0xC0C00000 (-6.0) | |
| 406. copy_constant $84 = 0xC1700000 (-15.0) | |
| 407. copy_constant $85 = 0xC1C00000 (-24.0) | |
| 408. cmpne_3_floats $80..82 = notEqual($80..82, $83..85) | |
| 409. bitwise_or_int $81 |= $82 | |
| 410. bitwise_or_int $80 |= $81 | |
| 411. merge_condition_mask CondMask = $79 & $80 | |
| 412. zero_slot_unmasked $81 = 0 | |
| 413. copy_slot_masked [test_no_op_vec3_X_mat3].result = Mask($81) | |
| 414. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 415. load_condition_mask CondMask = $79 | |
| 416. copy_4_constants $40..43 = testMatrix3x3(0..3) | |
| 417. copy_4_constants $44..47 = testMatrix3x3(4..7) | |
| 418. copy_constant $48 = testMatrix3x3(8) | |
| 419. shuffle $41..48 = ($41..48)[2 5 0 3 6 1 4 7] | |
| 420. copy_3_slots_unmasked $49..51 = n₁ | |
| 421. copy_3_slots_unmasked $79..81 = $40..42 | |
| 422. copy_3_slots_unmasked $82..84 = $49..51 | |
| 423. dot_3_floats $79 = dot($79..81, $82..84) | |
| 424. copy_3_slots_unmasked $80..82 = $43..45 | |
| 425. copy_3_slots_unmasked $83..85 = $49..51 | |
| 426. dot_3_floats $80 = dot($80..82, $83..85) | |
| 427. copy_4_slots_unmasked $81..84 = $46..49 | |
| 428. copy_2_slots_unmasked $85..86 = $50..51 | |
| 429. dot_3_floats $81 = dot($81..83, $84..86) | |
| 430. copy_3_slots_masked v₄ = Mask($79..81) | |
| 431. copy_constant $82 = 0xC1400000 (-12.0) | |
| 432. copy_constant $83 = 0xC1700000 (-15.0) | |
| 433. copy_constant $84 = 0xC1900000 (-18.0) | |
| 434. cmpeq_3_floats $79..81 = equal($79..81, $82..84) | |
| 435. bitwise_and_int $80 &= $81 | |
| 436. bitwise_and_int $79 &= $80 | |
| 437. copy_slot_masked [test_no_op_vec3_X_mat3].result = Mask($79) | |
| 438. load_return_mask RetMask = $78 | |
| 439. copy_slot_unmasked $78 = [test_no_op_vec3_X_mat3].result | |
| 440. label label 0x0000000A | |
| 441. copy_slot_masked $77 = Mask($78) | |
| 442. label label 0x00000002 | |
| 443. load_condition_mask CondMask = $56 | |
| 444. zero_slot_unmasked $0 = 0 | |
| 445. merge_condition_mask CondMask = $76 & $77 | |
| 446. branch_if_no_lanes_active branch_if_no_lanes_active +159 (label 1 at #605) | |
| 447. store_return_mask $1 = RetMask | |
| 448. copy_constant $2 = 0xBF800000 (-1.0) | |
| 449. swizzle_4 $2..5 = ($2..5).xxxx | |
| 450. copy_4_slots_unmasked n₂ = $2..5 | |
| 451. copy_constant $2 = 0x3F800000 (1.0) | |
| 452. swizzle_4 $2..5 = ($2..5).xxxx | |
| 453. copy_4_slots_unmasked i₂ = $2..5 | |
| 454. zero_4_slots_unmasked z₂ = 0 | |
| 455. copy_4_constants $2..5 = testMatrix2x2 | |
| 456. copy_4_constants $6..9 = testMatrix2x2 | |
| 457. copy_4_constants $10..13 = testMatrix2x2 | |
| 458. copy_4_constants $14..17 = testMatrix2x2 | |
| 459. copy_4_slots_unmasked testMatrix4x4(0..3) = $2..5 | |
| 460. copy_4_slots_unmasked testMatrix4x4(4..7) = $6..9 | |
| 461. copy_4_slots_unmasked testMatrix4x4(8..11) = $10..13 | |
| 462. copy_4_slots_unmasked testMatrix4x4(12..15) = $14..17 | |
| 463. zero_4_slots_unmasked v₅ = 0 | |
| 464. zero_4_slots_unmasked vv₅ = 0 | |
| 465. zero_4_slots_unmasked $2..5 = 0 | |
| 466. copy_4_slots_masked vv₅ = Mask($2..5) | |
| 467. zero_4_slots_unmasked $2..5 = 0 | |
| 468. copy_4_slots_masked vv₅ = Mask($2..5) | |
| 469. store_condition_mask $2 = CondMask | |
| 470. copy_4_slots_unmasked $3..6 = vv₅ | |
| 471. copy_4_slots_unmasked $7..10 = z₂ | |
| 472. cmpne_4_floats $3..6 = notEqual($3..6, $7..10) | |
| 473. bitwise_or_2_ints $3..4 |= $5..6 | |
| 474. bitwise_or_int $3 |= $4 | |
| 475. merge_condition_mask CondMask = $2 & $3 | |
| 476. zero_slot_unmasked $4 = 0 | |
| 477. copy_slot_masked [test_no_op_vec4_X_mat4].result = Mask($4) | |
| 478. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 479. load_condition_mask CondMask = $2 | |
| 480. copy_4_slots_unmasked $56..59 = i₂ | |
| 481. copy_4_slots_unmasked $60..63 = testMatrix4x4(0..3) | |
| 482. copy_4_slots_unmasked $64..67 = testMatrix4x4(4..7) | |
| 483. copy_4_slots_unmasked $68..71 = testMatrix4x4(8..11) | |
| 484. copy_4_slots_unmasked $72..75 = testMatrix4x4(12..15) | |
| 485. copy_4_slots_unmasked $2..5 = $56..59 | |
| 486. copy_4_slots_unmasked $6..9 = $60..63 | |
| 487. dot_4_floats $2 = dot($2..5, $6..9) | |
| 488. copy_4_slots_unmasked $3..6 = $56..59 | |
| 489. copy_4_slots_unmasked $7..10 = $64..67 | |
| 490. dot_4_floats $3 = dot($3..6, $7..10) | |
| 491. copy_4_slots_unmasked $4..7 = $56..59 | |
| 492. copy_4_slots_unmasked $8..11 = $68..71 | |
| 493. dot_4_floats $4 = dot($4..7, $8..11) | |
| 494. copy_4_slots_unmasked $5..8 = $56..59 | |
| 495. copy_4_slots_unmasked $9..12 = $72..75 | |
| 496. dot_4_floats $5 = dot($5..8, $9..12) | |
| 497. copy_4_slots_masked v₅ = Mask($2..5) | |
| 498. store_condition_mask $2 = CondMask | |
| 499. copy_4_slots_unmasked $3..6 = v₅ | |
| 500. copy_constant $7 = 0x41200000 (10.0) | |
| 501. swizzle_4 $7..10 = ($7..10).xxxx | |
| 502. stack_rewind | |
| 503. cmpne_4_floats $3..6 = notEqual($3..6, $7..10) | |
| 504. bitwise_or_2_ints $3..4 |= $5..6 | |
| 505. bitwise_or_int $3 |= $4 | |
| 506. merge_condition_mask CondMask = $2 & $3 | |
| 507. zero_slot_unmasked $4 = 0 | |
| 508. copy_slot_masked [test_no_op_vec4_X_mat4].result = Mask($4) | |
| 509. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 510. load_condition_mask CondMask = $2 | |
| 511. copy_4_slots_unmasked $56..59 = testMatrix4x4(0..3) | |
| 512. copy_4_slots_unmasked $60..63 = testMatrix4x4(4..7) | |
| 513. copy_4_slots_unmasked $64..67 = testMatrix4x4(8..11) | |
| 514. copy_4_slots_unmasked $68..71 = testMatrix4x4(12..15) | |
| 515. shuffle $57..71 = ($57..71)[3 7 11 0 4 8 12 1 5 9 13 2 6 10 14] | |
| 516. copy_4_slots_unmasked $72..75 = i₂ | |
| 517. copy_4_slots_unmasked $2..5 = $56..59 | |
| 518. copy_4_slots_unmasked $6..9 = $72..75 | |
| 519. dot_4_floats $2 = dot($2..5, $6..9) | |
| 520. copy_4_slots_unmasked $3..6 = $60..63 | |
| 521. copy_4_slots_unmasked $7..10 = $72..75 | |
| 522. dot_4_floats $3 = dot($3..6, $7..10) | |
| 523. copy_4_slots_unmasked $4..7 = $64..67 | |
| 524. copy_4_slots_unmasked $8..11 = $72..75 | |
| 525. dot_4_floats $4 = dot($4..7, $8..11) | |
| 526. copy_4_slots_unmasked $5..8 = $68..71 | |
| 527. copy_4_slots_unmasked $9..12 = $72..75 | |
| 528. dot_4_floats $5 = dot($5..8, $9..12) | |
| 529. copy_4_slots_masked v₅ = Mask($2..5) | |
| 530. store_condition_mask $2 = CondMask | |
| 531. copy_4_slots_unmasked $3..6 = v₅ | |
| 532. copy_constant $7 = 0x40800000 (4.0) | |
| 533. copy_constant $8 = 0x41000000 (8.0) | |
| 534. copy_constant $9 = 0x41400000 (12.0) | |
| 535. copy_constant $10 = 0x41800000 (16.0) | |
| 536. cmpne_4_floats $3..6 = notEqual($3..6, $7..10) | |
| 537. bitwise_or_2_ints $3..4 |= $5..6 | |
| 538. bitwise_or_int $3 |= $4 | |
| 539. merge_condition_mask CondMask = $2 & $3 | |
| 540. zero_slot_unmasked $4 = 0 | |
| 541. copy_slot_masked [test_no_op_vec4_X_mat4].result = Mask($4) | |
| 542. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 543. load_condition_mask CondMask = $2 | |
| 544. copy_4_slots_unmasked $56..59 = n₂ | |
| 545. copy_4_slots_unmasked $60..63 = testMatrix4x4(0..3) | |
| 546. copy_4_slots_unmasked $64..67 = testMatrix4x4(4..7) | |
| 547. copy_4_slots_unmasked $68..71 = testMatrix4x4(8..11) | |
| 548. copy_4_slots_unmasked $72..75 = testMatrix4x4(12..15) | |
| 549. copy_4_slots_unmasked $2..5 = $56..59 | |
| 550. copy_4_slots_unmasked $6..9 = $60..63 | |
| 551. dot_4_floats $2 = dot($2..5, $6..9) | |
| 552. copy_4_slots_unmasked $3..6 = $56..59 | |
| 553. copy_4_slots_unmasked $7..10 = $64..67 | |
| 554. dot_4_floats $3 = dot($3..6, $7..10) | |
| 555. copy_4_slots_unmasked $4..7 = $56..59 | |
| 556. copy_4_slots_unmasked $8..11 = $68..71 | |
| 557. dot_4_floats $4 = dot($4..7, $8..11) | |
| 558. copy_4_slots_unmasked $5..8 = $56..59 | |
| 559. copy_4_slots_unmasked $9..12 = $72..75 | |
| 560. dot_4_floats $5 = dot($5..8, $9..12) | |
| 561. copy_4_slots_masked v₅ = Mask($2..5) | |
| 562. store_condition_mask $2 = CondMask | |
| 563. copy_4_slots_unmasked $3..6 = v₅ | |
| 564. copy_constant $7 = 0xC1200000 (-10.0) | |
| 565. swizzle_4 $7..10 = ($7..10).xxxx | |
| 566. cmpne_4_floats $3..6 = notEqual($3..6, $7..10) | |
| 567. bitwise_or_2_ints $3..4 |= $5..6 | |
| 568. bitwise_or_int $3 |= $4 | |
| 569. merge_condition_mask CondMask = $2 & $3 | |
| 570. zero_slot_unmasked $4 = 0 | |
| 571. copy_slot_masked [test_no_op_vec4_X_mat4].result = Mask($4) | |
| 572. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 573. load_condition_mask CondMask = $2 | |
| 574. copy_4_slots_unmasked $56..59 = testMatrix4x4(0..3) | |
| 575. copy_4_slots_unmasked $60..63 = testMatrix4x4(4..7) | |
| 576. copy_4_slots_unmasked $64..67 = testMatrix4x4(8..11) | |
| 577. copy_4_slots_unmasked $68..71 = testMatrix4x4(12..15) | |
| 578. shuffle $57..71 = ($57..71)[3 7 11 0 4 8 12 1 5 9 13 2 6 10 14] | |
| 579. copy_4_slots_unmasked $72..75 = n₂ | |
| 580. copy_4_slots_unmasked $2..5 = $56..59 | |
| 581. copy_4_slots_unmasked $6..9 = $72..75 | |
| 582. dot_4_floats $2 = dot($2..5, $6..9) | |
| 583. copy_4_slots_unmasked $3..6 = $60..63 | |
| 584. copy_4_slots_unmasked $7..10 = $72..75 | |
| 585. dot_4_floats $3 = dot($3..6, $7..10) | |
| 586. copy_4_slots_unmasked $4..7 = $64..67 | |
| 587. copy_4_slots_unmasked $8..11 = $72..75 | |
| 588. dot_4_floats $4 = dot($4..7, $8..11) | |
| 589. copy_4_slots_unmasked $5..8 = $68..71 | |
| 590. copy_4_slots_unmasked $9..12 = $72..75 | |
| 591. dot_4_floats $5 = dot($5..8, $9..12) | |
| 592. copy_4_slots_masked v₅ = Mask($2..5) | |
| 593. copy_constant $6 = 0xC0800000 (-4.0) | |
| 594. copy_constant $7 = 0xC1000000 (-8.0) | |
| 595. copy_constant $8 = 0xC1400000 (-12.0) | |
| 596. copy_constant $9 = 0xC1800000 (-16.0) | |
| 597. cmpeq_4_floats $2..5 = equal($2..5, $6..9) | |
| 598. bitwise_and_2_ints $2..3 &= $4..5 | |
| 599. bitwise_and_int $2 &= $3 | |
| 600. copy_slot_masked [test_no_op_vec4_X_mat4].result = Mask($2) | |
| 601. load_return_mask RetMask = $1 | |
| 602. copy_slot_unmasked $1 = [test_no_op_vec4_X_mat4].result | |
| 603. label label 0x0000000B | |
| 604. copy_slot_masked $0 = Mask($1) | |
| 605. label label 0x00000001 | |
| 606. load_condition_mask CondMask = $76 | |
| 607. swizzle_4 $0..3 = ($0..3).xxxx | |
| 608. copy_4_constants $4..7 = colorRed | |
| 609. copy_4_constants $8..11 = colorGreen | |
| 610. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) | |
| 611. load_src src.rgba = $0..3 |