| 1. store_src_rg xy = src.rg | |
| 2. init_lane_masks CondMask = LoopMask = RetMask = true | |
| 3. store_condition_mask $12 = CondMask | |
| 4. store_condition_mask $22 = CondMask | |
| 5. store_condition_mask $25 = CondMask | |
| 6. store_condition_mask $17 = CondMask | |
| 7. store_condition_mask $39 = CondMask | |
| 8. store_condition_mask $31 = CondMask | |
| 9. store_condition_mask $8 = CondMask | |
| 10. store_condition_mask $35 = CondMask | |
| 11. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#24) | |
| 12. store_return_mask $36 = RetMask | |
| 13. store_loop_mask $37 = LoopMask | |
| 14. copy_constant $38 = 0xFFFFFFFF | |
| 15. copy_slot_masked [test_return].result = Mask($38) | |
| 16. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 17. zero_slot_unmasked $38 = 0 | |
| 18. merge_loop_mask LoopMask &= $38 | |
| 19. stack_rewind | |
| 20. branch_if_any_active_lanes branch_if_any_active_lanes -6 (#14) | |
| 21. load_loop_mask LoopMask = $37 | |
| 22. load_return_mask RetMask = $36 | |
| 23. copy_slot_unmasked $36 = [test_return].result | |
| 24. zero_slot_unmasked $9 = 0 | |
| 25. merge_condition_mask CondMask = $35 & $36 | |
| 26. branch_if_no_active_lanes branch_if_no_active_lanes +11 (#37) | |
| 27. store_loop_mask $10 = LoopMask | |
| 28. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 29. zero_slot_unmasked $11 = 0 | |
| 30. merge_loop_mask LoopMask &= $11 | |
| 31. stack_rewind | |
| 32. branch_if_any_active_lanes branch_if_any_active_lanes -4 (#28) | |
| 33. load_loop_mask LoopMask = $10 | |
| 34. copy_constant $10 = 0xFFFFFFFF | |
| 35. copy_slot_masked [test_break].result = Mask($10) | |
| 36. copy_slot_masked $9 = Mask($10) | |
| 37. load_condition_mask CondMask = $35 | |
| 38. zero_slot_unmasked $32 = 0 | |
| 39. merge_condition_mask CondMask = $8 & $9 | |
| 40. branch_if_no_active_lanes branch_if_no_active_lanes +15 (#55) | |
| 41. store_loop_mask $33 = LoopMask | |
| 42. zero_slot_unmasked [temporary 0] = 0 | |
| 43. copy_constant $34 = 0xFFFFFFFF | |
| 44. copy_slot_masked [temporary 0] = Mask($34) | |
| 45. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 46. reenable_loop_mask LoopMask |= [temporary 0] | |
| 47. zero_slot_unmasked $34 = 0 | |
| 48. merge_loop_mask LoopMask &= $34 | |
| 49. stack_rewind | |
| 50. branch_if_any_active_lanes branch_if_any_active_lanes -8 (#42) | |
| 51. load_loop_mask LoopMask = $33 | |
| 52. copy_constant $33 = 0xFFFFFFFF | |
| 53. copy_slot_masked [test_continue].result = Mask($33) | |
| 54. copy_slot_masked $32 = Mask($33) | |
| 55. load_condition_mask CondMask = $8 | |
| 56. zero_slot_unmasked $40 = 0 | |
| 57. merge_condition_mask CondMask = $31 & $32 | |
| 58. branch_if_no_active_lanes branch_if_no_active_lanes +27 (#85) | |
| 59. store_return_mask $41 = RetMask | |
| 60. store_loop_mask $42 = LoopMask | |
| 61. zero_slot_unmasked [temporary 0] = 0 | |
| 62. zero_slot_unmasked $43 = 0 | |
| 63. copy_constant $44 = colorGreen(1) | |
| 64. cmplt_float $43 = lessThan($43, $44) | |
| 65. branch_if_no_active_lanes_eq branch +5 (#70) if no lanes of $43 == 0xFFFFFFFF | |
| 66. copy_constant $44 = 0xFFFFFFFF | |
| 67. copy_slot_masked [test_if_return].result = Mask($44) | |
| 68. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 69. jump jump +2 (#71) | |
| 70. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 71. copy_constant $43 = 0xFFFFFFFF | |
| 72. copy_slot_masked [temporary 0] = Mask($43) | |
| 73. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 74. reenable_loop_mask LoopMask |= [temporary 0] | |
| 75. zero_slot_unmasked $43 = 0 | |
| 76. merge_loop_mask LoopMask &= $43 | |
| 77. stack_rewind | |
| 78. branch_if_any_active_lanes branch_if_any_active_lanes -17 (#61) | |
| 79. load_loop_mask LoopMask = $42 | |
| 80. zero_slot_unmasked $42 = 0 | |
| 81. copy_slot_masked [test_if_return].result = Mask($42) | |
| 82. load_return_mask RetMask = $41 | |
| 83. copy_slot_unmasked $41 = [test_if_return].result | |
| 84. copy_slot_masked $40 = Mask($41) | |
| 85. load_condition_mask CondMask = $31 | |
| 86. zero_slot_unmasked $18 = 0 | |
| 87. merge_condition_mask CondMask = $39 & $40 | |
| 88. branch_if_no_active_lanes branch_if_no_active_lanes +21 (#109) | |
| 89. store_loop_mask $19 = LoopMask | |
| 90. zero_slot_unmasked [temporary 0] = 0 | |
| 91. zero_slot_unmasked $20 = 0 | |
| 92. copy_constant $21 = colorGreen(1) | |
| 93. cmplt_float $20 = lessThan($20, $21) | |
| 94. branch_if_no_active_lanes_eq branch +3 (#97) if no lanes of $20 == 0xFFFFFFFF | |
| 95. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 96. jump jump +4 (#100) | |
| 97. copy_constant $21 = 0xFFFFFFFF | |
| 98. copy_slot_masked [temporary 0] = Mask($21) | |
| 99. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 100. reenable_loop_mask LoopMask |= [temporary 0] | |
| 101. zero_slot_unmasked $20 = 0 | |
| 102. merge_loop_mask LoopMask &= $20 | |
| 103. stack_rewind | |
| 104. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#90) | |
| 105. load_loop_mask LoopMask = $19 | |
| 106. copy_constant $19 = 0xFFFFFFFF | |
| 107. copy_slot_masked [test_if_break].result = Mask($19) | |
| 108. copy_slot_masked $18 = Mask($19) | |
| 109. load_condition_mask CondMask = $39 | |
| 110. zero_slot_unmasked $26 = 0 | |
| 111. merge_condition_mask CondMask = $17 & $18 | |
| 112. branch_if_no_active_lanes branch_if_no_active_lanes +22 (#134) | |
| 113. store_return_mask $27 = RetMask | |
| 114. store_loop_mask $28 = LoopMask | |
| 115. copy_constant $29 = colorGreen(1) | |
| 116. zero_slot_unmasked $30 = 0 | |
| 117. cmpeq_float $29 = equal($29, $30) | |
| 118. branch_if_no_active_lanes_eq branch +5 (#123) if no lanes of $29 == 0xFFFFFFFF | |
| 119. zero_slot_unmasked $30 = 0 | |
| 120. copy_slot_masked [test_else].result = Mask($30) | |
| 121. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 122. jump jump +4 (#126) | |
| 123. copy_constant $30 = 0xFFFFFFFF | |
| 124. copy_slot_masked [test_else].result = Mask($30) | |
| 125. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
| 126. zero_slot_unmasked $29 = 0 | |
| 127. merge_loop_mask LoopMask &= $29 | |
| 128. stack_rewind | |
| 129. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#115) | |
| 130. load_loop_mask LoopMask = $28 | |
| 131. load_return_mask RetMask = $27 | |
| 132. copy_slot_unmasked $27 = [test_else].result | |
| 133. copy_slot_masked $26 = Mask($27) | |
| 134. load_condition_mask CondMask = $17 | |
| 135. zero_slot_unmasked $23 = 0 | |
| 136. merge_condition_mask CondMask = $25 & $26 | |
| 137. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#141) | |
| 138. copy_constant $24 = 0xFFFFFFFF | |
| 139. copy_slot_masked [test_loop_return].result = Mask($24) | |
| 140. copy_slot_masked $23 = Mask($24) | |
| 141. load_condition_mask CondMask = $25 | |
| 142. zero_slot_unmasked $13 = 0 | |
| 143. merge_condition_mask CondMask = $22 & $23 | |
| 144. branch_if_no_active_lanes branch_if_no_active_lanes +19 (#163) | |
| 145. zero_slot_unmasked x = 0 | |
| 146. store_loop_mask $14 = LoopMask | |
| 147. jump jump +6 (#153) | |
| 148. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
| 149. copy_slot_unmasked $15 = x | |
| 150. copy_constant $16 = 0x00000001 (1.401298e-45) | |
| 151. add_int $15 += $16 | |
| 152. copy_slot_masked x = Mask($15) | |
| 153. copy_slot_unmasked $15 = x | |
| 154. copy_constant $16 = 0x00000001 (1.401298e-45) | |
| 155. cmple_int $15 = lessThanEqual($15, $16) | |
| 156. merge_loop_mask LoopMask &= $15 | |
| 157. stack_rewind | |
| 158. branch_if_any_active_lanes branch_if_any_active_lanes -10 (#148) | |
| 159. load_loop_mask LoopMask = $14 | |
| 160. copy_constant $14 = 0xFFFFFFFF | |
| 161. copy_slot_masked [test_loop_break].result = Mask($14) | |
| 162. copy_slot_masked $13 = Mask($14) | |
| 163. load_condition_mask CondMask = $22 | |
| 164. copy_4_constants $0..3 = colorRed | |
| 165. merge_condition_mask CondMask = $12 & $13 | |
| 166. copy_4_constants $4..7 = colorGreen | |
| 167. copy_4_slots_masked $0..3 = Mask($4..7) | |
| 168. load_condition_mask CondMask = $12 | |
| 169. copy_4_slots_unmasked [main].result = $0..3 | |
| 170. load_src src.rgba = [main].result |