ptx_parser/unparser/instruction/
ldu.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::ldu::section_0::*;
20
21 impl PtxUnparser for LduSsType {
22 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
23 push_opcode(tokens, "ldu");
24 if let Some(ss_0) = self.ss.as_ref() {
25 match ss_0 {
26 Ss::Global => {
27 push_directive(tokens, "global");
28 }
29 }
30 }
31 match &self.type_ {
32 Type::B128 => {
33 push_directive(tokens, "b128");
34 }
35 Type::B16 => {
36 push_directive(tokens, "b16");
37 }
38 Type::B32 => {
39 push_directive(tokens, "b32");
40 }
41 Type::B64 => {
42 push_directive(tokens, "b64");
43 }
44 Type::U16 => {
45 push_directive(tokens, "u16");
46 }
47 Type::U32 => {
48 push_directive(tokens, "u32");
49 }
50 Type::U64 => {
51 push_directive(tokens, "u64");
52 }
53 Type::S16 => {
54 push_directive(tokens, "s16");
55 }
56 Type::S32 => {
57 push_directive(tokens, "s32");
58 }
59 Type::S64 => {
60 push_directive(tokens, "s64");
61 }
62 Type::F32 => {
63 push_directive(tokens, "f32");
64 }
65 Type::F64 => {
66 push_directive(tokens, "f64");
67 }
68 Type::B8 => {
69 push_directive(tokens, "b8");
70 }
71 Type::U8 => {
72 push_directive(tokens, "u8");
73 }
74 Type::S8 => {
75 push_directive(tokens, "s8");
76 }
77 }
78 self.d.unparse_tokens(tokens);
79 tokens.push(PtxToken::Comma);
80 self.a.unparse_tokens(tokens);
81 tokens.push(PtxToken::Semicolon);
82 }
83 }
84
85 impl PtxUnparser for LduSsVecType {
86 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
87 push_opcode(tokens, "ldu");
88 if let Some(ss_1) = self.ss.as_ref() {
89 match ss_1 {
90 Ss::Global => {
91 push_directive(tokens, "global");
92 }
93 }
94 }
95 match &self.vec {
96 Vec::V2 => {
97 push_directive(tokens, "v2");
98 }
99 Vec::V4 => {
100 push_directive(tokens, "v4");
101 }
102 }
103 match &self.type_ {
104 Type::B128 => {
105 push_directive(tokens, "b128");
106 }
107 Type::B16 => {
108 push_directive(tokens, "b16");
109 }
110 Type::B32 => {
111 push_directive(tokens, "b32");
112 }
113 Type::B64 => {
114 push_directive(tokens, "b64");
115 }
116 Type::U16 => {
117 push_directive(tokens, "u16");
118 }
119 Type::U32 => {
120 push_directive(tokens, "u32");
121 }
122 Type::U64 => {
123 push_directive(tokens, "u64");
124 }
125 Type::S16 => {
126 push_directive(tokens, "s16");
127 }
128 Type::S32 => {
129 push_directive(tokens, "s32");
130 }
131 Type::S64 => {
132 push_directive(tokens, "s64");
133 }
134 Type::F32 => {
135 push_directive(tokens, "f32");
136 }
137 Type::F64 => {
138 push_directive(tokens, "f64");
139 }
140 Type::B8 => {
141 push_directive(tokens, "b8");
142 }
143 Type::U8 => {
144 push_directive(tokens, "u8");
145 }
146 Type::S8 => {
147 push_directive(tokens, "s8");
148 }
149 }
150 self.d.unparse_tokens(tokens);
151 tokens.push(PtxToken::Comma);
152 self.a.unparse_tokens(tokens);
153 tokens.push(PtxToken::Semicolon);
154 }
155 }
156}