blob: 871de70dd8ddac64987f0bb87b200fa1d71588db [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_4_constants $0..3 = testInputs
4. copy_4_slots_unmasked v = $0..3
5. zero_slot_unmasked $0 = 0
6. copy_4_slots_unmasked $1..4 = v
7. swizzle_3 $1..3 = ($1..3).zyx
8. copy_4_slots_unmasked v = $0..3
9. zero_2_slots_unmasked $0..1 = 0
10. copy_4_slots_unmasked $2..5 = v
11. swizzle_1 $3 = ($3..5).z
12. copy_4_slots_unmasked v = $0..3
13. copy_constant $0 = 0x3F800000 (1.0)
14. copy_constant $1 = 0x3F800000 (1.0)
15. copy_4_slots_unmasked $2..5 = v
16. swizzle_2 $2..3 = ($2..5).wx
17. copy_4_slots_unmasked v = $0..3
18. swizzle_2 $0..1 = ($0..2).zy
19. copy_constant $2 = 0x3F800000 (1.0)
20. copy_constant $3 = 0x3F800000 (1.0)
21. copy_4_slots_unmasked v = $0..3
22. swizzle_2 $0..1 = ($0..1).xx
23. copy_constant $2 = 0x3F800000 (1.0)
24. copy_constant $3 = 0x3F800000 (1.0)
25. copy_4_slots_unmasked v = $0..3
26. swizzle_4 $0..3 = ($0..3).wzwz
27. copy_4_slots_unmasked v = $0..3
28. store_return_mask $0 = RetMask
29. copy_4_slots_unmasked v = v
30. copy_constant x = 0x00000001 (1.401298e-45)
31. store_loop_mask $1 = LoopMask
32. jump jump +9 (label 2 at #41)
33. label label 0x00000003
34. copy_slot_unmasked $2 = v₁(0)
35. copy_slot_masked [fn].result = Mask($2)
36. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
37. copy_slot_unmasked $2 = x
38. copy_constant $3 = 0x00000001 (1.401298e-45)
39. add_int $2 += $3
40. copy_slot_masked x = Mask($2)
41. label label 0x00000002
42. copy_slot_unmasked $2 = x
43. copy_constant $3 = 0x00000002 (2.802597e-45)
44. cmple_int $2 = lessThanEqual($2, $3)
45. merge_loop_mask LoopMask &= $2
46. stack_rewind
47. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 3 at #33)
48. label label 0x00000001
49. load_loop_mask LoopMask = $1
50. load_return_mask RetMask = $0
51. copy_slot_unmasked $0 = [fn].result
52. label label 0x00000000
53. copy_constant $1 = 0x42F60000 (123.0)
54. copy_constant $2 = 0x43E40000 (456.0)
55. swizzle_4 $0..3 = ($0..3).yyzz
56. copy_4_slots_unmasked v = $0..3
57. store_return_mask $0 = RetMask
58. copy_4_slots_unmasked v = v
59. copy_constant x = 0x00000001 (1.401298e-45)
60. store_loop_mask $1 = LoopMask
61. jump jump +9 (label 6 at #70)
62. label label 0x00000007
63. copy_slot_unmasked $2 = v₁(0)
64. copy_slot_masked [fn].result = Mask($2)
65. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
66. copy_slot_unmasked $2 = x
67. copy_constant $3 = 0x00000001 (1.401298e-45)
68. add_int $2 += $3
69. copy_slot_masked x = Mask($2)
70. label label 0x00000006
71. copy_slot_unmasked $2 = x
72. copy_constant $3 = 0x00000002 (2.802597e-45)
73. cmple_int $2 = lessThanEqual($2, $3)
74. merge_loop_mask LoopMask &= $2
75. stack_rewind
76. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 7 at #62)
77. label label 0x00000005
78. load_loop_mask LoopMask = $1
79. load_return_mask RetMask = $0
80. copy_slot_unmasked $0 = [fn].result
81. label label 0x00000004
82. copy_constant $1 = 0x42F60000 (123.0)
83. copy_constant $2 = 0x43E40000 (456.0)
84. swizzle_4 $0..3 = ($0..3).yyzz
85. copy_4_slots_unmasked v = $0..3
86. copy_constant $0 = 0x42F60000 (123.0)
87. copy_constant $1 = 0x43E40000 (456.0)
88. copy_constant $2 = 0x43E40000 (456.0)
89. store_return_mask $3 = RetMask
90. copy_4_slots_unmasked v = v
91. copy_constant x = 0x00000001 (1.401298e-45)
92. store_loop_mask $4 = LoopMask
93. jump jump +9 (label 10 at #102)
94. label label 0x0000000B
95. copy_slot_unmasked $5 = v₁(0)
96. copy_slot_masked [fn].result = Mask($5)
97. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
98. copy_slot_unmasked $5 = x
99. copy_constant $6 = 0x00000001 (1.401298e-45)
100. add_int $5 += $6
101. copy_slot_masked x = Mask($5)
102. label label 0x0000000A
103. copy_slot_unmasked $5 = x
104. copy_constant $6 = 0x00000002 (2.802597e-45)
105. cmple_int $5 = lessThanEqual($5, $6)
106. merge_loop_mask LoopMask &= $5
107. stack_rewind
108. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 11 at #94)
109. label label 0x00000009
110. load_loop_mask LoopMask = $4
111. load_return_mask RetMask = $3
112. copy_slot_unmasked $3 = [fn].result
113. label label 0x00000008
114. copy_4_slots_unmasked v = $0..3
115. copy_constant $0 = 0x42F60000 (123.0)
116. copy_constant $1 = 0x43E40000 (456.0)
117. copy_constant $2 = 0x43E40000 (456.0)
118. store_return_mask $3 = RetMask
119. copy_4_slots_unmasked v = v
120. copy_constant x = 0x00000001 (1.401298e-45)
121. store_loop_mask $4 = LoopMask
122. jump jump +9 (label 14 at #131)
123. label label 0x0000000F
124. copy_slot_unmasked $5 = v₁(0)
125. copy_slot_masked [fn].result = Mask($5)
126. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
127. copy_slot_unmasked $5 = x
128. copy_constant $6 = 0x00000001 (1.401298e-45)
129. add_int $5 += $6
130. copy_slot_masked x = Mask($5)
131. label label 0x0000000E
132. copy_slot_unmasked $5 = x
133. copy_constant $6 = 0x00000002 (2.802597e-45)
134. cmple_int $5 = lessThanEqual($5, $6)
135. merge_loop_mask LoopMask &= $5
136. stack_rewind
137. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 15 at #123)
138. label label 0x0000000D
139. load_loop_mask LoopMask = $4
140. load_return_mask RetMask = $3
141. copy_slot_unmasked $3 = [fn].result
142. label label 0x0000000C
143. copy_4_slots_unmasked v = $0..3
144. store_return_mask $0 = RetMask
145. copy_4_slots_unmasked v = v
146. copy_constant x = 0x00000001 (1.401298e-45)
147. store_loop_mask $1 = LoopMask
148. jump jump +9 (label 18 at #157)
149. label label 0x00000013
150. copy_slot_unmasked $2 = v₁(0)
151. copy_slot_masked [fn].result = Mask($2)
152. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
153. copy_slot_unmasked $2 = x
154. copy_constant $3 = 0x00000001 (1.401298e-45)
155. add_int $2 += $3
156. copy_slot_masked x = Mask($2)
157. label label 0x00000012
158. copy_slot_unmasked $2 = x
159. copy_constant $3 = 0x00000002 (2.802597e-45)
160. cmple_int $2 = lessThanEqual($2, $3)
161. merge_loop_mask LoopMask &= $2
162. stack_rewind
163. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 19 at #149)
164. label label 0x00000011
165. load_loop_mask LoopMask = $1
166. load_return_mask RetMask = $0
167. copy_slot_unmasked $0 = [fn].result
168. label label 0x00000010
169. copy_constant $1 = 0x42F60000 (123.0)
170. copy_constant $2 = 0x43E40000 (456.0)
171. swizzle_4 $0..3 = ($0..3).yxxz
172. copy_4_slots_unmasked v = $0..3
173. store_return_mask $0 = RetMask
174. copy_4_slots_unmasked v = v
175. copy_constant x = 0x00000001 (1.401298e-45)
176. store_loop_mask $1 = LoopMask
177. jump jump +9 (label 22 at #186)
178. label label 0x00000017
179. copy_slot_unmasked $2 = v₁(0)
180. copy_slot_masked [fn].result = Mask($2)
181. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
182. copy_slot_unmasked $2 = x
183. copy_constant $3 = 0x00000001 (1.401298e-45)
184. add_int $2 += $3
185. copy_slot_masked x = Mask($2)
186. label label 0x00000016
187. copy_slot_unmasked $2 = x
188. copy_constant $3 = 0x00000002 (2.802597e-45)
189. cmple_int $2 = lessThanEqual($2, $3)
190. merge_loop_mask LoopMask &= $2
191. stack_rewind
192. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 23 at #178)
193. label label 0x00000015
194. load_loop_mask LoopMask = $1
195. load_return_mask RetMask = $0
196. copy_slot_unmasked $0 = [fn].result
197. label label 0x00000014
198. copy_constant $1 = 0x42F60000 (123.0)
199. copy_constant $2 = 0x43E40000 (456.0)
200. swizzle_4 $0..3 = ($0..3).yxxz
201. copy_4_slots_unmasked v = $0..3
202. copy_constant $0 = 0x3F800000 (1.0)
203. copy_constant $1 = 0x3F800000 (1.0)
204. copy_constant $2 = 0x40000000 (2.0)
205. copy_constant $3 = 0x40400000 (3.0)
206. copy_4_slots_unmasked v = $0..3
207. copy_3_constants $0..2 = colorRed(0..2)
208. copy_constant $3 = 0x3F800000 (1.0)
209. copy_4_slots_unmasked v = $0..3
210. copy_constant $0 = colorRed(0)
211. copy_constant $1 = 0x3F800000 (1.0)
212. copy_2_constants $2..3 = colorRed(1..2)
213. copy_4_slots_unmasked v = $0..3
214. swizzle_copy_4_slots_masked (v).wzyx = Mask($0..3)
215. copy_2_slots_unmasked $0..1 = v(1..2)
216. swizzle_copy_2_slots_masked (v).xw = Mask($0..1)
217. copy_4_slots_unmasked $0..3 = v
218. swizzle_2 $0..1 = ($0..3).ww
219. copy_constant $2 = 0x3F800000 (1.0)
220. swizzle_copy_3_slots_masked (v(0..2)).zyx = Mask($0..2)
221. copy_4_slots_unmasked $0..3 = v
222. copy_constant $4 = 0x3F800000 (1.0)
223. swizzle_4 $4..7 = ($4..7).xxxx
224. cmpeq_4_floats $0..3 = equal($0..3, $4..7)
225. bitwise_and_2_ints $0..1 &= $2..3
226. bitwise_and_int $0 &= $1
227. swizzle_4 $0..3 = ($0..3).xxxx
228. copy_4_constants $4..7 = colorRed
229. copy_4_constants $8..11 = colorGreen
230. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
231. load_src src.rgba = $0..3