ptx_parser/unparser/instruction/
vset2.rs1#![allow(unused)]
15
16use crate::lexer::PtxToken;
17use crate::unparser::{PtxUnparser, common::*};
18
19pub mod section_0 {
20 use super::*;
21 use crate::r#type::instruction::vset2::section_0::*;
22
23 impl PtxUnparser for Vset2AtypeBtypeCmp {
24 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
25 push_opcode(tokens, "vset2");
26 match &self.atype {
27 Atype::U32 => {
28 push_directive(tokens, "u32");
29 }
30 Atype::S32 => {
31 push_directive(tokens, "s32");
32 }
33 }
34 match &self.btype {
35 Btype::U32 => {
36 push_directive(tokens, "u32");
37 }
38 Btype::S32 => {
39 push_directive(tokens, "s32");
40 }
41 }
42 match &self.cmp {
43 Cmp::Eq => {
44 push_directive(tokens, "eq");
45 }
46 Cmp::Ne => {
47 push_directive(tokens, "ne");
48 }
49 Cmp::Lt => {
50 push_directive(tokens, "lt");
51 }
52 Cmp::Le => {
53 push_directive(tokens, "le");
54 }
55 Cmp::Gt => {
56 push_directive(tokens, "gt");
57 }
58 Cmp::Ge => {
59 push_directive(tokens, "ge");
60 }
61 }
62 self.d.unparse_tokens(tokens);
63 if let Some(mask_0) = self.mask.as_ref() {
64 match mask_0 {
65 Mask::H10 => {
66 push_directive(tokens, "h10");
67 }
68 Mask::H0 => {
69 push_directive(tokens, "h0");
70 }
71 Mask::H1 => {
72 push_directive(tokens, "h1");
73 }
74 }
75 }
76 tokens.push(PtxToken::Comma);
77 self.a.unparse_tokens(tokens);
78 if let Some(asel_1) = self.asel.as_ref() {
79 match asel_1 {
80 Asel::H00 => {
81 push_directive(tokens, "h00");
82 }
83 Asel::H01 => {
84 push_directive(tokens, "h01");
85 }
86 Asel::H02 => {
87 push_directive(tokens, "h02");
88 }
89 Asel::H03 => {
90 push_directive(tokens, "h03");
91 }
92 Asel::H10 => {
93 push_directive(tokens, "h10");
94 }
95 Asel::H11 => {
96 push_directive(tokens, "h11");
97 }
98 Asel::H12 => {
99 push_directive(tokens, "h12");
100 }
101 Asel::H13 => {
102 push_directive(tokens, "h13");
103 }
104 Asel::H20 => {
105 push_directive(tokens, "h20");
106 }
107 Asel::H21 => {
108 push_directive(tokens, "h21");
109 }
110 Asel::H22 => {
111 push_directive(tokens, "h22");
112 }
113 Asel::H23 => {
114 push_directive(tokens, "h23");
115 }
116 Asel::H30 => {
117 push_directive(tokens, "h30");
118 }
119 Asel::H31 => {
120 push_directive(tokens, "h31");
121 }
122 Asel::H32 => {
123 push_directive(tokens, "h32");
124 }
125 Asel::H33 => {
126 push_directive(tokens, "h33");
127 }
128 }
129 }
130 tokens.push(PtxToken::Comma);
131 self.b.unparse_tokens(tokens);
132 if let Some(bsel_2) = self.bsel.as_ref() {
133 match bsel_2 {
134 Bsel::H00 => {
135 push_directive(tokens, "h00");
136 }
137 Bsel::H01 => {
138 push_directive(tokens, "h01");
139 }
140 Bsel::H02 => {
141 push_directive(tokens, "h02");
142 }
143 Bsel::H03 => {
144 push_directive(tokens, "h03");
145 }
146 Bsel::H10 => {
147 push_directive(tokens, "h10");
148 }
149 Bsel::H11 => {
150 push_directive(tokens, "h11");
151 }
152 Bsel::H12 => {
153 push_directive(tokens, "h12");
154 }
155 Bsel::H13 => {
156 push_directive(tokens, "h13");
157 }
158 Bsel::H20 => {
159 push_directive(tokens, "h20");
160 }
161 Bsel::H21 => {
162 push_directive(tokens, "h21");
163 }
164 Bsel::H22 => {
165 push_directive(tokens, "h22");
166 }
167 Bsel::H23 => {
168 push_directive(tokens, "h23");
169 }
170 Bsel::H30 => {
171 push_directive(tokens, "h30");
172 }
173 Bsel::H31 => {
174 push_directive(tokens, "h31");
175 }
176 Bsel::H32 => {
177 push_directive(tokens, "h32");
178 }
179 Bsel::H33 => {
180 push_directive(tokens, "h33");
181 }
182 }
183 }
184 tokens.push(PtxToken::Comma);
185 self.c.unparse_tokens(tokens);
186 tokens.push(PtxToken::Semicolon);
187 }
188 }
189
190 impl PtxUnparser for Vset2AtypeBtypeCmpAdd {
191 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
192 push_opcode(tokens, "vset2");
193 match &self.atype {
194 Atype::U32 => {
195 push_directive(tokens, "u32");
196 }
197 Atype::S32 => {
198 push_directive(tokens, "s32");
199 }
200 }
201 match &self.btype {
202 Btype::U32 => {
203 push_directive(tokens, "u32");
204 }
205 Btype::S32 => {
206 push_directive(tokens, "s32");
207 }
208 }
209 match &self.cmp {
210 Cmp::Eq => {
211 push_directive(tokens, "eq");
212 }
213 Cmp::Ne => {
214 push_directive(tokens, "ne");
215 }
216 Cmp::Lt => {
217 push_directive(tokens, "lt");
218 }
219 Cmp::Le => {
220 push_directive(tokens, "le");
221 }
222 Cmp::Gt => {
223 push_directive(tokens, "gt");
224 }
225 Cmp::Ge => {
226 push_directive(tokens, "ge");
227 }
228 }
229 push_directive(tokens, "add");
230 self.d.unparse_tokens(tokens);
231 if let Some(mask_3) = self.mask.as_ref() {
232 match mask_3 {
233 Mask::H10 => {
234 push_directive(tokens, "h10");
235 }
236 Mask::H0 => {
237 push_directive(tokens, "h0");
238 }
239 Mask::H1 => {
240 push_directive(tokens, "h1");
241 }
242 }
243 }
244 tokens.push(PtxToken::Comma);
245 self.a.unparse_tokens(tokens);
246 if let Some(asel_4) = self.asel.as_ref() {
247 match asel_4 {
248 Asel::H00 => {
249 push_directive(tokens, "h00");
250 }
251 Asel::H01 => {
252 push_directive(tokens, "h01");
253 }
254 Asel::H02 => {
255 push_directive(tokens, "h02");
256 }
257 Asel::H03 => {
258 push_directive(tokens, "h03");
259 }
260 Asel::H10 => {
261 push_directive(tokens, "h10");
262 }
263 Asel::H11 => {
264 push_directive(tokens, "h11");
265 }
266 Asel::H12 => {
267 push_directive(tokens, "h12");
268 }
269 Asel::H13 => {
270 push_directive(tokens, "h13");
271 }
272 Asel::H20 => {
273 push_directive(tokens, "h20");
274 }
275 Asel::H21 => {
276 push_directive(tokens, "h21");
277 }
278 Asel::H22 => {
279 push_directive(tokens, "h22");
280 }
281 Asel::H23 => {
282 push_directive(tokens, "h23");
283 }
284 Asel::H30 => {
285 push_directive(tokens, "h30");
286 }
287 Asel::H31 => {
288 push_directive(tokens, "h31");
289 }
290 Asel::H32 => {
291 push_directive(tokens, "h32");
292 }
293 Asel::H33 => {
294 push_directive(tokens, "h33");
295 }
296 }
297 }
298 tokens.push(PtxToken::Comma);
299 self.b.unparse_tokens(tokens);
300 if let Some(bsel_5) = self.bsel.as_ref() {
301 match bsel_5 {
302 Bsel::H00 => {
303 push_directive(tokens, "h00");
304 }
305 Bsel::H01 => {
306 push_directive(tokens, "h01");
307 }
308 Bsel::H02 => {
309 push_directive(tokens, "h02");
310 }
311 Bsel::H03 => {
312 push_directive(tokens, "h03");
313 }
314 Bsel::H10 => {
315 push_directive(tokens, "h10");
316 }
317 Bsel::H11 => {
318 push_directive(tokens, "h11");
319 }
320 Bsel::H12 => {
321 push_directive(tokens, "h12");
322 }
323 Bsel::H13 => {
324 push_directive(tokens, "h13");
325 }
326 Bsel::H20 => {
327 push_directive(tokens, "h20");
328 }
329 Bsel::H21 => {
330 push_directive(tokens, "h21");
331 }
332 Bsel::H22 => {
333 push_directive(tokens, "h22");
334 }
335 Bsel::H23 => {
336 push_directive(tokens, "h23");
337 }
338 Bsel::H30 => {
339 push_directive(tokens, "h30");
340 }
341 Bsel::H31 => {
342 push_directive(tokens, "h31");
343 }
344 Bsel::H32 => {
345 push_directive(tokens, "h32");
346 }
347 Bsel::H33 => {
348 push_directive(tokens, "h33");
349 }
350 }
351 }
352 tokens.push(PtxToken::Comma);
353 self.c.unparse_tokens(tokens);
354 tokens.push(PtxToken::Semicolon);
355 }
356 }
357}