ptx_parser/unparser/instruction/
cvta.rs1#![allow(unused)]
13
14use crate::lexer::PtxToken;
15use crate::unparser::{PtxUnparser, common::*};
16
17pub mod section_0 {
18 use super::*;
19 use crate::r#type::instruction::cvta::section_0::*;
20
21 impl PtxUnparser for CvtaSpaceSize {
22 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
23 push_opcode(tokens, "cvta");
24 match &self.space {
25 Space::SharedCluster => {
26 push_directive(tokens, "shared::cluster");
27 }
28 Space::ParamEntry => {
29 push_directive(tokens, "param::entry");
30 }
31 Space::SharedCta => {
32 push_directive(tokens, "shared::cta");
33 }
34 Space::Global => {
35 push_directive(tokens, "global");
36 }
37 Space::Shared => {
38 push_directive(tokens, "shared");
39 }
40 Space::Const => {
41 push_directive(tokens, "const");
42 }
43 Space::Local => {
44 push_directive(tokens, "local");
45 }
46 Space::Param => {
47 push_directive(tokens, "param");
48 }
49 }
50 match &self.size {
51 Size::U32 => {
52 push_directive(tokens, "u32");
53 }
54 Size::U64 => {
55 push_directive(tokens, "u64");
56 }
57 }
58 self.p.unparse_tokens(tokens);
59 tokens.push(PtxToken::Comma);
60 self.a.unparse_tokens(tokens);
61 tokens.push(PtxToken::Semicolon);
62 }
63 }
64
65 impl PtxUnparser for CvtaToSpaceSize {
66 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
67 push_opcode(tokens, "cvta");
68 push_directive(tokens, "to");
69 match &self.space {
70 Space::SharedCluster => {
71 push_directive(tokens, "shared::cluster");
72 }
73 Space::ParamEntry => {
74 push_directive(tokens, "param::entry");
75 }
76 Space::SharedCta => {
77 push_directive(tokens, "shared::cta");
78 }
79 Space::Global => {
80 push_directive(tokens, "global");
81 }
82 Space::Shared => {
83 push_directive(tokens, "shared");
84 }
85 Space::Const => {
86 push_directive(tokens, "const");
87 }
88 Space::Local => {
89 push_directive(tokens, "local");
90 }
91 Space::Param => {
92 push_directive(tokens, "param");
93 }
94 }
95 match &self.size {
96 Size::U32 => {
97 push_directive(tokens, "u32");
98 }
99 Size::U64 => {
100 push_directive(tokens, "u64");
101 }
102 }
103 self.p.unparse_tokens(tokens);
104 tokens.push(PtxToken::Comma);
105 self.a.unparse_tokens(tokens);
106 tokens.push(PtxToken::Semicolon);
107 }
108 }
109}