ptx_parser/unparser/instruction/
clusterlaunchcontrol_try_cancel.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::clusterlaunchcontrol_try_cancel::section_0::*;
15
16 impl PtxUnparser
17 for ClusterlaunchcontrolTryCancelAsyncSpaceCompletionMechanismMulticastClusterAllB128
18 {
19 fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
20 self.unparse_tokens_mode(tokens, false);
21 }
22 fn unparse_tokens_mode(&self, tokens: &mut ::std::vec::Vec<PtxToken>, spaced: bool) {
23 push_opcode(tokens, "clusterlaunchcontrol");
24 push_directive(tokens, "try_cancel");
25 push_directive(tokens, "async");
26 if let Some(space_0) = self.space.as_ref() {
27 match space_0 {
28 Space::SharedCta => {
29 push_directive(tokens, "shared::cta");
30 }
31 }
32 }
33 match &self.completion_mechanism {
34 CompletionMechanism::MbarrierCompleteTxBytes => {
35 push_directive(tokens, "mbarrier::complete_tx::bytes");
36 }
37 }
38 if self.multicast_cluster_all {
39 push_directive(tokens, "multicast::cluster::all");
40 }
41 push_directive(tokens, "b128");
42 if spaced {
43 tokens.push(PtxToken::Space);
44 }
45 self.addr.unparse_tokens_mode(tokens, spaced);
46 tokens.push(PtxToken::Comma);
47 if spaced {
48 tokens.push(PtxToken::Space);
49 }
50 self.mbar.unparse_tokens_mode(tokens, spaced);
51 tokens.push(PtxToken::Semicolon);
52 if spaced {
53 tokens.push(PtxToken::Newline);
54 }
55 }
56 }
57}