1. store_src_rg coords = src.rg 2. init_lane_masks CondMask = LoopMask = RetMask = true 3. copy_constant _0_ok = 0xFFFFFFFF 4. copy_slot_unmasked $0 = _0_ok 5. zero_slot_unmasked $1 = 0 6. copy_constant $2 = unknownInput 7. shuffle $1..9 = ($1..9)[1 0 0 0 1 0 0 0 1] 8. zero_slot_unmasked $10 = 0 9. copy_constant $11 = 0x3F800000 (1.0) 10. swizzle_4 $10..13 = ($10..13).yxxy 11. zero_slot_unmasked $14 = 0 12. copy_constant $15 = 0x3F800000 (1.0) 13. shuffle $12..18 = ($12..18)[2 0 1 2 2 2 3] 14. cmpeq_n_floats $1..9 = equal($1..9, $10..18) 15. bitwise_and_4_ints $2..5 &= $6..9 16. bitwise_and_2_ints $2..3 &= $4..5 17. bitwise_and_int $2 &= $3 18. bitwise_and_int $1 &= $2 19. bitwise_and_int $0 &= $1 20. copy_slot_unmasked _0_ok = $0 21. copy_constant $1 = 0x41100000 (9.0) 22. zero_3_slots_unmasked $2..4 = 0 23. copy_constant $5 = 0x41100000 (9.0) 24. zero_3_slots_unmasked $6..8 = 0 25. copy_constant $9 = unknownInput 26. zero_slot_unmasked $10 = 0 27. copy_constant $11 = 0x41100000 (9.0) 28. swizzle_4 $10..13 = ($10..13).yxxy 29. zero_slot_unmasked $14 = 0 30. copy_constant $15 = 0x3F800000 (1.0) 31. shuffle $12..18 = ($12..18)[2 0 1 2 2 2 3] 32. cmpeq_n_floats $1..9 = equal($1..9, $10..18) 33. bitwise_and_4_ints $2..5 &= $6..9 34. bitwise_and_2_ints $2..3 &= $4..5 35. bitwise_and_int $2 &= $3 36. bitwise_and_int $1 &= $2 37. bitwise_and_int $0 &= $1 38. copy_slot_unmasked _0_ok = $0 39. copy_4_constants $1..4 = testMatrix2x2 40. copy_constant $5 = 0x3F800000 (1.0) 41. copy_constant $6 = 0x40000000 (2.0) 42. copy_constant $7 = 0x40400000 (3.0) 43. copy_constant $8 = 0x40800000 (4.0) 44. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 45. bitwise_and_2_ints $1..2 &= $3..4 46. bitwise_and_int $1 &= $2 47. bitwise_and_int $0 &= $1 48. copy_slot_unmasked _0_ok = $0 49. copy_4_constants $22..25 = testMatrix2x2 50. zero_slot_unmasked $26 = 0 51. copy_constant $27 = 0x3F800000 (1.0) 52. shuffle $24..30 = ($24..30)[2 0 1 2 2 2 3] 53. zero_slot_unmasked $31 = 0 54. copy_constant $32 = 0x3F800000 (1.0) 55. shuffle $25..37 = ($25..37)[6 0 1 2 6 3 4 5 6 6 6 6 7] 56. copy_4_slots_unmasked $1..4 = $22..25 57. copy_constant $5 = 0x3F800000 (1.0) 58. copy_constant $6 = 0x40000000 (2.0) 59. zero_2_slots_unmasked $7..8 = 0 60. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 61. bitwise_and_2_ints $1..2 &= $3..4 62. bitwise_and_int $1 &= $2 63. bitwise_and_int $0 &= $1 64. copy_slot_unmasked _0_ok = $0 65. copy_4_constants $22..25 = testMatrix2x2 66. zero_slot_unmasked $26 = 0 67. copy_constant $27 = 0x3F800000 (1.0) 68. shuffle $24..30 = ($24..30)[2 0 1 2 2 2 3] 69. zero_slot_unmasked $31 = 0 70. copy_constant $32 = 0x3F800000 (1.0) 71. shuffle $25..37 = ($25..37)[6 0 1 2 6 3 4 5 6 6 6 6 7] 72. copy_4_slots_unmasked $1..4 = $26..29 73. copy_constant $5 = 0x40400000 (3.0) 74. copy_constant $6 = 0x40800000 (4.0) 75. zero_2_slots_unmasked $7..8 = 0 76. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 77. bitwise_and_2_ints $1..2 &= $3..4 78. bitwise_and_int $1 &= $2 79. bitwise_and_int $0 &= $1 80. copy_slot_unmasked _0_ok = $0 81. store_condition_mask $22 = CondMask 82. store_condition_mask $41 = CondMask 83. store_condition_mask $44 = CondMask 84. store_condition_mask $38 = CondMask 85. store_condition_mask $52 = CondMask 86. store_condition_mask $47 = CondMask 87. store_condition_mask $19 = CondMask 88. store_condition_mask $50 = CondMask 89. copy_slot_unmasked $51 = _0_ok 90. zero_slot_unmasked $20 = 0 91. merge_condition_mask CondMask = $50 & $51 92. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 8 at #98) 93. copy_constant ok = 0xFFFFFFFF 94. copy_slot_unmasked $21 = ok 95. copy_slot_masked [test_matrix_op_scalar_float].result = Mask($21) 96. label label 0x00000009 97. copy_slot_masked $20 = Mask($21) 98. label label 0x00000008 99. load_condition_mask CondMask = $50 100. zero_slot_unmasked $48 = 0 101. merge_condition_mask CondMask = $19 & $20 102. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 7 at #108) 103. copy_constant ok₁ = 0xFFFFFFFF 104. copy_slot_unmasked $49 = ok₁ 105. copy_slot_masked [test_matrix_op_scalar_half].result = Mask($49) 106. label label 0x0000000A 107. copy_slot_masked $48 = Mask($49) 108. label label 0x00000007 109. load_condition_mask CondMask = $19 110. zero_slot_unmasked $53 = 0 111. merge_condition_mask CondMask = $47 & $48 112. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 6 at #118) 113. copy_constant ok₂ = 0xFFFFFFFF 114. copy_slot_unmasked $54 = ok₂ 115. copy_slot_masked [test_matrix_op_matrix_float].result = Mask($54) 116. label label 0x0000000B 117. copy_slot_masked $53 = Mask($54) 118. label label 0x00000006 119. load_condition_mask CondMask = $47 120. zero_slot_unmasked $39 = 0 121. merge_condition_mask CondMask = $52 & $53 122. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 5 at #128) 123. copy_constant ok₃ = 0xFFFFFFFF 124. copy_slot_unmasked $40 = ok₃ 125. copy_slot_masked [test_matrix_op_matrix_half].result = Mask($40) 126. label label 0x0000000C 127. copy_slot_masked $39 = Mask($40) 128. label label 0x00000005 129. load_condition_mask CondMask = $52 130. zero_slot_unmasked $45 = 0 131. merge_condition_mask CondMask = $38 & $39 132. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 4 at #138) 133. copy_constant ok₄ = 0xFFFFFFFF 134. copy_slot_unmasked $46 = ok₄ 135. copy_slot_masked [test_vector_op_matrix_float].result = Mask($46) 136. label label 0x0000000D 137. copy_slot_masked $45 = Mask($46) 138. label label 0x00000004 139. load_condition_mask CondMask = $38 140. zero_slot_unmasked $42 = 0 141. merge_condition_mask CondMask = $44 & $45 142. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 3 at #148) 143. copy_constant ok₅ = 0xFFFFFFFF 144. copy_slot_unmasked $43 = ok₅ 145. copy_slot_masked [test_vector_op_matrix_half].result = Mask($43) 146. label label 0x0000000E 147. copy_slot_masked $42 = Mask($43) 148. label label 0x00000003 149. load_condition_mask CondMask = $44 150. zero_slot_unmasked $23 = 0 151. merge_condition_mask CondMask = $41 & $42 152. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 2 at #158) 153. copy_constant ok₆ = 0xFFFFFFFF 154. copy_slot_unmasked $24 = ok₆ 155. copy_slot_masked [test_matrix_op_vector_float].result = Mask($24) 156. label label 0x0000000F 157. copy_slot_masked $23 = Mask($24) 158. label label 0x00000002 159. load_condition_mask CondMask = $41 160. zero_slot_unmasked $0 = 0 161. merge_condition_mask CondMask = $22 & $23 162. branch_if_no_active_lanes branch_if_no_active_lanes +6 (label 1 at #168) 163. copy_constant ok₇ = 0xFFFFFFFF 164. copy_slot_unmasked $1 = ok₇ 165. copy_slot_masked [test_matrix_op_vector_half].result = Mask($1) 166. label label 0x00000010 167. copy_slot_masked $0 = Mask($1) 168. label label 0x00000001 169. load_condition_mask CondMask = $22 170. swizzle_4 $0..3 = ($0..3).xxxx 171. copy_4_constants $4..7 = colorRed 172. copy_4_constants $8..11 = colorGreen 173. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 174. copy_4_slots_unmasked [main].result = $0..3 175. load_src src.rgba = [main].result