blob: dcb5af5ac45128c3f934e82cec69cfeccc486663 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. zero_4_slots_unmasked _0_m = 0
4. zero_4_slots_unmasked _1_mm = 0
5. zero_2_slots_unmasked $0..1 = 0
6. swizzle_4 $0..3 = ($0..3).yxxy
7. copy_4_slots_unmasked _3_z = $0..3
8. copy_4_constants $0..3 = testMatrix2x2
9. copy_4_slots_unmasked _0_m = $0..3
10. copy_4_constants $0..3 = testMatrix2x2
11. copy_4_slots_unmasked _0_m = $0..3
12. zero_4_slots_unmasked $0..3 = 0
13. copy_4_slots_unmasked $4..7 = _0_m
14. sub_4_floats $0..3 -= $4..7
15. copy_4_slots_unmasked _0_m = $0..3
16. zero_2_slots_unmasked $0..1 = 0
17. swizzle_4 $0..3 = ($0..3).yxxy
18. copy_4_slots_unmasked _1_mm = $0..3
19. zero_2_slots_unmasked $0..1 = 0
20. swizzle_4 $0..3 = ($0..3).yxxy
21. copy_4_slots_unmasked _1_mm = $0..3
22. store_condition_mask $62 = CondMask
23. store_condition_mask $49 = CondMask
24. copy_4_slots_unmasked $50..53 = _0_m
25. zero_4_slots_unmasked $54..57 = 0
26. copy_4_constants $58..61 = testMatrix2x2
27. sub_4_floats $54..57 -= $58..61
28. cmpeq_4_floats $50..53 = equal($50..53, $54..57)
29. bitwise_and_2_ints $50..51 &= $52..53
30. bitwise_and_int $50 &= $51
31. copy_4_slots_unmasked $51..54 = _1_mm
32. copy_4_slots_unmasked $55..58 = _3_z
33. cmpeq_4_floats $51..54 = equal($51..54, $55..58)
34. bitwise_and_2_ints $51..52 &= $53..54
35. bitwise_and_int $51 &= $52
36. bitwise_and_int $50 &= $51
37. zero_slot_unmasked $63 = 0
38. merge_condition_mask CondMask = $49 & $50
39. branch_if_no_lanes_active branch_if_no_lanes_active +71 (label 2 at #110)
40. zero_4_slots_unmasked m(0..3) = 0
41. zero_4_slots_unmasked m(4..7) = 0
42. zero_4_slots_unmasked m(8), mm(0..2) = 0
43. zero_4_slots_unmasked mm(3..6) = 0
44. zero_2_slots_unmasked mm(7..8) = 0
45. zero_2_slots_unmasked $64..65 = 0
46. shuffle $64..72 = ($64..72)[1 0 0 0 1 0 0 0 1]
47. copy_4_slots_unmasked z(0..3) = $64..67
48. copy_4_slots_unmasked z(4..7) = $68..71
49. copy_slot_unmasked z(8) = $72
50. copy_4_constants $64..67 = testMatrix3x3(0..3)
51. copy_4_constants $68..71 = testMatrix3x3(4..7)
52. copy_constant $72 = testMatrix3x3(8)
53. copy_4_slots_masked m(0..3) = Mask($64..67)
54. copy_4_slots_masked m(4..7) = Mask($68..71)
55. copy_slot_masked m(8) = Mask($72)
56. copy_4_constants $64..67 = testMatrix3x3(0..3)
57. copy_4_constants $68..71 = testMatrix3x3(4..7)
58. copy_constant $72 = testMatrix3x3(8)
59. copy_4_slots_masked m(0..3) = Mask($64..67)
60. copy_4_slots_masked m(4..7) = Mask($68..71)
61. copy_slot_masked m(8) = Mask($72)
62. zero_4_slots_unmasked $64..67 = 0
63. zero_4_slots_unmasked $68..71 = 0
64. zero_slot_unmasked $72 = 0
65. copy_4_slots_unmasked $73..76 = m(0..3)
66. copy_4_slots_unmasked $77..80 = m(4..7)
67. copy_slot_unmasked $81 = m(8)
68. sub_n_floats $64..72 -= $73..81
69. copy_4_slots_masked m(0..3) = Mask($64..67)
70. copy_4_slots_masked m(4..7) = Mask($68..71)
71. copy_slot_masked m(8) = Mask($72)
72. zero_2_slots_unmasked $64..65 = 0
73. shuffle $64..72 = ($64..72)[1 0 0 0 1 0 0 0 1]
74. copy_4_slots_masked mm(0..3) = Mask($64..67)
75. copy_4_slots_masked mm(4..7) = Mask($68..71)
76. copy_slot_masked mm(8) = Mask($72)
77. zero_2_slots_unmasked $64..65 = 0
78. shuffle $64..72 = ($64..72)[1 0 0 0 1 0 0 0 1]
79. copy_4_slots_masked mm(0..3) = Mask($64..67)
80. copy_4_slots_masked mm(4..7) = Mask($68..71)
81. copy_slot_masked mm(8) = Mask($72)
82. copy_4_slots_unmasked $64..67 = m(0..3)
83. copy_4_slots_unmasked $68..71 = m(4..7)
84. copy_slot_unmasked $72 = m(8)
85. zero_4_slots_unmasked $73..76 = 0
86. zero_4_slots_unmasked $77..80 = 0
87. zero_slot_unmasked $81 = 0
88. copy_4_constants $82..85 = testMatrix3x3(0..3)
89. copy_4_constants $86..89 = testMatrix3x3(4..7)
90. copy_constant $90 = testMatrix3x3(8)
91. sub_n_floats $73..81 -= $82..90
92. cmpeq_n_floats $64..72 = equal($64..72, $73..81)
93. bitwise_and_4_ints $65..68 &= $69..72
94. bitwise_and_2_ints $65..66 &= $67..68
95. bitwise_and_int $65 &= $66
96. bitwise_and_int $64 &= $65
97. copy_4_slots_unmasked $65..68 = mm(0..3)
98. copy_4_slots_unmasked $69..72 = mm(4..7)
99. copy_4_slots_unmasked $73..76 = mm(8), z(0..2)
100. copy_4_slots_unmasked $77..80 = z(3..6)
101. copy_2_slots_unmasked $81..82 = z(7..8)
102. cmpeq_n_floats $65..73 = equal($65..73, $74..82)
103. bitwise_and_4_ints $66..69 &= $70..73
104. bitwise_and_2_ints $66..67 &= $68..69
105. bitwise_and_int $66 &= $67
106. bitwise_and_int $65 &= $66
107. bitwise_and_int $64 &= $65
108. label label 0x00000003
109. copy_slot_masked $63 = Mask($64)
110. label label 0x00000002
111. load_condition_mask CondMask = $49
112. zero_slot_unmasked $0 = 0
113. merge_condition_mask CondMask = $62 & $63
114. branch_if_no_lanes_active branch_if_no_lanes_active +100 (label 1 at #214)
115. copy_4_constants $1..4 = testInputs
116. copy_4_constants $5..8 = testInputs
117. copy_4_constants $9..12 = testInputs
118. copy_4_constants $13..16 = testInputs
119. copy_4_slots_unmasked testMatrix4x4(0..3) = $1..4
120. copy_4_slots_unmasked testMatrix4x4(4..7) = $5..8
121. copy_4_slots_unmasked testMatrix4x4(8..11) = $9..12
122. copy_4_slots_unmasked testMatrix4x4(12..15) = $13..16
123. zero_4_slots_unmasked m₁(0..3) = 0
124. zero_4_slots_unmasked m₁(4..7) = 0
125. zero_4_slots_unmasked m₁(8..11) = 0
126. zero_4_slots_unmasked m₁(12..15) = 0
127. zero_4_slots_unmasked mm₁(0..3) = 0
128. zero_4_slots_unmasked mm₁(4..7) = 0
129. zero_4_slots_unmasked mm₁(8..11) = 0
130. zero_4_slots_unmasked mm₁(12..15) = 0
131. zero_2_slots_unmasked $1..2 = 0
132. shuffle $1..16 = ($1..16)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
133. copy_4_slots_unmasked z₁(0..3) = $1..4
134. copy_4_slots_unmasked z₁(4..7) = $5..8
135. copy_4_slots_unmasked z₁(8..11) = $9..12
136. copy_4_slots_unmasked z₁(12..15) = $13..16
137. copy_4_slots_unmasked $1..4 = testMatrix4x4(0..3)
138. copy_4_slots_unmasked $5..8 = testMatrix4x4(4..7)
139. copy_4_slots_unmasked $9..12 = testMatrix4x4(8..11)
140. copy_4_slots_unmasked $13..16 = testMatrix4x4(12..15)
141. copy_4_slots_masked m₁(0..3) = Mask($1..4)
142. copy_4_slots_masked m₁(4..7) = Mask($5..8)
143. copy_4_slots_masked m₁(8..11) = Mask($9..12)
144. copy_4_slots_masked m₁(12..15) = Mask($13..16)
145. copy_4_slots_unmasked $1..4 = testMatrix4x4(0..3)
146. copy_4_slots_unmasked $5..8 = testMatrix4x4(4..7)
147. copy_4_slots_unmasked $9..12 = testMatrix4x4(8..11)
148. copy_4_slots_unmasked $13..16 = testMatrix4x4(12..15)
149. copy_4_slots_masked m₁(0..3) = Mask($1..4)
150. copy_4_slots_masked m₁(4..7) = Mask($5..8)
151. copy_4_slots_masked m₁(8..11) = Mask($9..12)
152. copy_4_slots_masked m₁(12..15) = Mask($13..16)
153. zero_4_slots_unmasked $1..4 = 0
154. zero_4_slots_unmasked $5..8 = 0
155. zero_4_slots_unmasked $9..12 = 0
156. zero_4_slots_unmasked $13..16 = 0
157. copy_4_slots_unmasked $17..20 = m₁(0..3)
158. copy_4_slots_unmasked $21..24 = m₁(4..7)
159. copy_4_slots_unmasked $25..28 = m₁(8..11)
160. copy_4_slots_unmasked $29..32 = m₁(12..15)
161. sub_n_floats $1..16 -= $17..32
162. copy_4_slots_masked m₁(0..3) = Mask($1..4)
163. copy_4_slots_masked m₁(4..7) = Mask($5..8)
164. copy_4_slots_masked m₁(8..11) = Mask($9..12)
165. copy_4_slots_masked m₁(12..15) = Mask($13..16)
166. zero_2_slots_unmasked $1..2 = 0
167. shuffle $1..16 = ($1..16)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
168. copy_4_slots_masked mm₁(0..3) = Mask($1..4)
169. copy_4_slots_masked mm₁(4..7) = Mask($5..8)
170. copy_4_slots_masked mm₁(8..11) = Mask($9..12)
171. copy_4_slots_masked mm₁(12..15) = Mask($13..16)
172. zero_2_slots_unmasked $1..2 = 0
173. shuffle $1..16 = ($1..16)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
174. copy_4_slots_masked mm₁(0..3) = Mask($1..4)
175. copy_4_slots_masked mm₁(4..7) = Mask($5..8)
176. copy_4_slots_masked mm₁(8..11) = Mask($9..12)
177. copy_4_slots_masked mm₁(12..15) = Mask($13..16)
178. copy_4_slots_unmasked $1..4 = m₁(0..3)
179. copy_4_slots_unmasked $5..8 = m₁(4..7)
180. copy_4_slots_unmasked $9..12 = m₁(8..11)
181. copy_4_slots_unmasked $13..16 = m₁(12..15)
182. zero_4_slots_unmasked $17..20 = 0
183. zero_4_slots_unmasked $21..24 = 0
184. zero_4_slots_unmasked $25..28 = 0
185. zero_4_slots_unmasked $29..32 = 0
186. copy_4_slots_unmasked $33..36 = testMatrix4x4(0..3)
187. copy_4_slots_unmasked $37..40 = testMatrix4x4(4..7)
188. copy_4_slots_unmasked $41..44 = testMatrix4x4(8..11)
189. copy_4_slots_unmasked $45..48 = testMatrix4x4(12..15)
190. sub_n_floats $17..32 -= $33..48
191. cmpeq_n_floats $1..16 = equal($1..16, $17..32)
192. bitwise_and_4_ints $9..12 &= $13..16
193. bitwise_and_4_ints $5..8 &= $9..12
194. bitwise_and_4_ints $1..4 &= $5..8
195. bitwise_and_2_ints $1..2 &= $3..4
196. bitwise_and_int $1 &= $2
197. copy_4_slots_unmasked $2..5 = mm₁(0..3)
198. copy_4_slots_unmasked $6..9 = mm₁(4..7)
199. copy_4_slots_unmasked $10..13 = mm₁(8..11)
200. copy_4_slots_unmasked $14..17 = mm₁(12..15)
201. copy_4_slots_unmasked $18..21 = z₁(0..3)
202. copy_4_slots_unmasked $22..25 = z₁(4..7)
203. copy_4_slots_unmasked $26..29 = z₁(8..11)
204. copy_4_slots_unmasked $30..33 = z₁(12..15)
205. cmpeq_n_floats $2..17 = equal($2..17, $18..33)
206. bitwise_and_4_ints $10..13 &= $14..17
207. bitwise_and_4_ints $6..9 &= $10..13
208. bitwise_and_4_ints $2..5 &= $6..9
209. bitwise_and_2_ints $2..3 &= $4..5
210. bitwise_and_int $2 &= $3
211. bitwise_and_int $1 &= $2
212. label label 0x00000004
213. copy_slot_masked $0 = Mask($1)
214. label label 0x00000001
215. load_condition_mask CondMask = $62
216. swizzle_4 $0..3 = ($0..3).xxxx
217. copy_4_constants $4..7 = colorRed
218. copy_4_constants $8..11 = colorGreen
219. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
220. load_src src.rgba = $0..3