1. store_src_rg coords = src.rg 2. init_lane_masks CondMask = LoopMask = RetMask = true 3. copy_constant $0 = colorWhite(0) 4. copy_slot_unmasked _0_x = $0 5. zero_slot_unmasked $0 = 0 6. copy_slot_unmasked $1 = _0_x 7. sub_float $0 -= $1 8. copy_slot_unmasked _0_x = $0 9. store_condition_mask $33 = CondMask 10. store_condition_mask $59 = CondMask 11. store_condition_mask $69 = CondMask 12. store_condition_mask $53 = CondMask 13. store_condition_mask $78 = CondMask 14. store_condition_mask $75 = CondMask 15. copy_slot_unmasked $76 = _0_x 16. copy_constant $77 = 0xBF800000 (-1.0) 17. cmpeq_float $76 = equal($76, $77) 18. zero_slot_unmasked $79 = 0 19. merge_condition_mask CondMask = $75 & $76 20. branch_if_no_active_lanes branch_if_no_active_lanes +13 (label 6 at #33) 21. copy_constant $80 = colorWhite(0) 22. cast_to_int_from_float $80 = FloatToInt($80) 23. copy_slot_unmasked x = $80 24. zero_slot_unmasked $80 = 0 25. copy_slot_unmasked $81 = x 26. sub_int $80 -= $81 27. copy_slot_masked x = Mask($80) 28. copy_constant $81 = 0xFFFFFFFF 29. cmpeq_int $80 = equal($80, $81) 30. copy_slot_masked [test_iscalar].result = Mask($80) 31. label label 0x00000007 32. copy_slot_masked $79 = Mask($80) 33. label label 0x00000006 34. load_condition_mask CondMask = $75 35. zero_slot_unmasked $54 = 0 36. merge_condition_mask CondMask = $78 & $79 37. branch_if_no_active_lanes branch_if_no_active_lanes +14 (label 5 at #51) 38. copy_2_constants $55..56 = colorWhite(0..1) 39. copy_2_slots_unmasked x₁ = $55..56 40. zero_2_slots_unmasked $55..56 = 0 41. copy_2_slots_unmasked $57..58 = x₁ 42. sub_2_floats $55..56 -= $57..58 43. copy_2_slots_masked x₁ = Mask($55..56) 44. copy_constant $57 = 0xBF800000 (-1.0) 45. copy_slot_unmasked $58 = $57 46. cmpeq_2_floats $55..56 = equal($55..56, $57..58) 47. bitwise_and_int $55 &= $56 48. copy_slot_masked [test_fvec].result = Mask($55) 49. label label 0x00000008 50. copy_slot_masked $54 = Mask($55) 51. label label 0x00000005 52. load_condition_mask CondMask = $78 53. zero_slot_unmasked $70 = 0 54. merge_condition_mask CondMask = $53 & $54 55. branch_if_no_active_lanes branch_if_no_active_lanes +16 (label 4 at #71) 56. copy_constant $71 = colorWhite(0) 57. cast_to_int_from_float $71 = FloatToInt($71) 58. copy_slot_unmasked $72 = $71 59. copy_2_slots_unmasked x₂ = $71..72 60. zero_2_slots_unmasked $71..72 = 0 61. copy_2_slots_unmasked $73..74 = x₂ 62. sub_2_ints $71..72 -= $73..74 63. copy_2_slots_masked x₂ = Mask($71..72) 64. copy_constant $73 = 0xFFFFFFFF 65. copy_slot_unmasked $74 = $73 66. cmpeq_2_ints $71..72 = equal($71..72, $73..74) 67. bitwise_and_int $71 &= $72 68. copy_slot_masked [test_ivec].result = Mask($71) 69. label label 0x00000009 70. copy_slot_masked $70 = Mask($71) 71. label label 0x00000004 72. load_condition_mask CondMask = $53 73. zero_slot_unmasked $60 = 0 74. merge_condition_mask CondMask = $69 & $70 75. branch_if_no_active_lanes branch_if_no_active_lanes +18 (label 3 at #93) 76. copy_constant negated(0) = 0xBF800000 (-1.0) 77. copy_constant negated(1) = 0xC0000000 (-2.0) 78. copy_constant negated(2) = 0xC0400000 (-3.0) 79. copy_constant negated(3) = 0xC0800000 (-4.0) 80. copy_4_constants $61..64 = testMatrix2x2 81. copy_4_slots_unmasked x₃ = $61..64 82. zero_4_slots_unmasked $61..64 = 0 83. copy_4_slots_unmasked $65..68 = x₃ 84. sub_4_floats $61..64 -= $65..68 85. copy_4_slots_masked x₃ = Mask($61..64) 86. copy_4_slots_unmasked $65..68 = negated 87. cmpeq_4_floats $61..64 = equal($61..64, $65..68) 88. bitwise_and_2_ints $61..62 &= $63..64 89. bitwise_and_int $61 &= $62 90. copy_slot_masked [test_mat2].result = Mask($61) 91. label label 0x0000000A 92. copy_slot_masked $60 = Mask($61) 93. label label 0x00000003 94. load_condition_mask CondMask = $69 95. zero_slot_unmasked $34 = 0 96. merge_condition_mask CondMask = $59 & $60 97. branch_if_no_active_lanes branch_if_no_active_lanes +37 (label 2 at #134) 98. copy_constant negated₁(0) = 0xBF800000 (-1.0) 99. copy_constant negated₁(1) = 0xC0000000 (-2.0) 100. copy_constant negated₁(2) = 0xC0400000 (-3.0) 101. copy_constant negated₁(3) = 0xC0800000 (-4.0) 102. copy_constant negated₁(4) = 0xC0A00000 (-5.0) 103. copy_constant negated₁(5) = 0xC0C00000 (-6.0) 104. copy_constant negated₁(6) = 0xC0E00000 (-7.0) 105. copy_constant negated₁(7) = 0xC1000000 (-8.0) 106. copy_constant negated₁(8) = 0xC1100000 (-9.0) 107. copy_4_constants $35..38 = testMatrix3x3(0..3) 108. copy_4_constants $39..42 = testMatrix3x3(4..7) 109. copy_constant $43 = testMatrix3x3(8) 110. copy_4_slots_unmasked x₄(0..3) = $35..38 111. copy_4_slots_unmasked x₄(4..7) = $39..42 112. copy_slot_unmasked x₄(8) = $43 113. zero_4_slots_unmasked $35..38 = 0 114. zero_4_slots_unmasked $39..42 = 0 115. zero_slot_unmasked $43 = 0 116. copy_4_slots_unmasked $44..47 = x₄(0..3) 117. copy_4_slots_unmasked $48..51 = x₄(4..7) 118. copy_slot_unmasked $52 = x₄(8) 119. sub_n_floats $35..43 -= $44..52 120. copy_4_slots_masked x₄(0..3) = Mask($35..38) 121. copy_4_slots_masked x₄(4..7) = Mask($39..42) 122. copy_slot_masked x₄(8) = Mask($43) 123. copy_4_slots_unmasked $44..47 = negated₁(0..3) 124. copy_4_slots_unmasked $48..51 = negated₁(4..7) 125. copy_slot_unmasked $52 = negated₁(8) 126. cmpeq_n_floats $35..43 = equal($35..43, $44..52) 127. bitwise_and_4_ints $36..39 &= $40..43 128. bitwise_and_2_ints $36..37 &= $38..39 129. bitwise_and_int $36 &= $37 130. bitwise_and_int $35 &= $36 131. copy_slot_masked [test_mat3].result = Mask($35) 132. label label 0x0000000B 133. copy_slot_masked $34 = Mask($35) 134. label label 0x00000002 135. load_condition_mask CondMask = $59 136. zero_slot_unmasked $0 = 0 137. merge_condition_mask CondMask = $33 & $34 138. branch_if_no_active_lanes branch_if_no_active_lanes +51 (label 1 at #189) 139. copy_constant negated₂(0) = 0xBF800000 (-1.0) 140. copy_constant negated₂(1) = 0xC0000000 (-2.0) 141. copy_constant negated₂(2) = 0xC0400000 (-3.0) 142. copy_constant negated₂(3) = 0xC0800000 (-4.0) 143. copy_constant negated₂(4) = 0xC0A00000 (-5.0) 144. copy_constant negated₂(5) = 0xC0C00000 (-6.0) 145. copy_constant negated₂(6) = 0xC0E00000 (-7.0) 146. copy_constant negated₂(7) = 0xC1000000 (-8.0) 147. copy_constant negated₂(8) = 0xC1100000 (-9.0) 148. copy_constant negated₂(9) = 0xC1200000 (-10.0) 149. copy_constant negated₂(10) = 0xC1300000 (-11.0) 150. copy_constant negated₂(11) = 0xC1400000 (-12.0) 151. copy_constant negated₂(12) = 0xC1500000 (-13.0) 152. copy_constant negated₂(13) = 0xC1600000 (-14.0) 153. copy_constant negated₂(14) = 0xC1700000 (-15.0) 154. copy_constant negated₂(15) = 0xC1800000 (-16.0) 155. copy_4_constants $1..4 = testMatrix4x4(0..3) 156. copy_4_constants $5..8 = testMatrix4x4(4..7) 157. copy_4_constants $9..12 = testMatrix4x4(8..11) 158. copy_4_constants $13..16 = testMatrix4x4(12..15) 159. copy_4_slots_unmasked x₅(0..3) = $1..4 160. copy_4_slots_unmasked x₅(4..7) = $5..8 161. copy_4_slots_unmasked x₅(8..11) = $9..12 162. copy_4_slots_unmasked x₅(12..15) = $13..16 163. zero_4_slots_unmasked $1..4 = 0 164. zero_4_slots_unmasked $5..8 = 0 165. zero_4_slots_unmasked $9..12 = 0 166. zero_4_slots_unmasked $13..16 = 0 167. copy_4_slots_unmasked $17..20 = x₅(0..3) 168. copy_4_slots_unmasked $21..24 = x₅(4..7) 169. copy_4_slots_unmasked $25..28 = x₅(8..11) 170. copy_4_slots_unmasked $29..32 = x₅(12..15) 171. sub_n_floats $1..16 -= $17..32 172. copy_4_slots_masked x₅(0..3) = Mask($1..4) 173. copy_4_slots_masked x₅(4..7) = Mask($5..8) 174. copy_4_slots_masked x₅(8..11) = Mask($9..12) 175. copy_4_slots_masked x₅(12..15) = Mask($13..16) 176. copy_4_slots_unmasked $17..20 = negated₂(0..3) 177. copy_4_slots_unmasked $21..24 = negated₂(4..7) 178. copy_4_slots_unmasked $25..28 = negated₂(8..11) 179. copy_4_slots_unmasked $29..32 = negated₂(12..15) 180. cmpeq_n_floats $1..16 = equal($1..16, $17..32) 181. bitwise_and_4_ints $9..12 &= $13..16 182. bitwise_and_4_ints $5..8 &= $9..12 183. bitwise_and_4_ints $1..4 &= $5..8 184. bitwise_and_2_ints $1..2 &= $3..4 185. bitwise_and_int $1 &= $2 186. copy_slot_masked [test_mat4].result = Mask($1) 187. label label 0x0000000C 188. copy_slot_masked $0 = Mask($1) 189. label label 0x00000001 190. load_condition_mask CondMask = $33 191. swizzle_4 $0..3 = ($0..3).xxxx 192. copy_4_constants $4..7 = colorRed 193. copy_4_constants $8..11 = colorGreen 194. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 195. copy_4_slots_unmasked [main].result = $0..3 196. load_src src.rgba = [main].result