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