ptx_parser/unparser/instruction/
shf.rs1#![allow(unused)]
8
9use crate::lexer::PtxToken;
10use crate::unparser::{PtxUnparser, common::*};
11
12pub mod section_0 {
13 use super::*;
14 use crate::r#type::instruction::shf::section_0::*;
15
16 impl PtxUnparser for ShfLModeB32 {
17 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
18 push_opcode(tokens, "shf");
19 push_directive(tokens, "l");
20 match &self.mode {
21 Mode::Clamp => {
22 push_directive(tokens, "clamp");
23 }
24 Mode::Wrap => {
25 push_directive(tokens, "wrap");
26 }
27 }
28 push_directive(tokens, "b32");
29 self.d.unparse_tokens(tokens);
30 tokens.push(PtxToken::Comma);
31 self.a.unparse_tokens(tokens);
32 tokens.push(PtxToken::Comma);
33 self.b.unparse_tokens(tokens);
34 tokens.push(PtxToken::Comma);
35 self.c.unparse_tokens(tokens);
36 tokens.push(PtxToken::Semicolon);
37 }
38 }
39
40 impl PtxUnparser for ShfRModeB32 {
41 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
42 push_opcode(tokens, "shf");
43 push_directive(tokens, "r");
44 match &self.mode {
45 Mode::Clamp => {
46 push_directive(tokens, "clamp");
47 }
48 Mode::Wrap => {
49 push_directive(tokens, "wrap");
50 }
51 }
52 push_directive(tokens, "b32");
53 self.d.unparse_tokens(tokens);
54 tokens.push(PtxToken::Comma);
55 self.a.unparse_tokens(tokens);
56 tokens.push(PtxToken::Comma);
57 self.b.unparse_tokens(tokens);
58 tokens.push(PtxToken::Comma);
59 self.c.unparse_tokens(tokens);
60 tokens.push(PtxToken::Semicolon);
61 }
62 }
63}