ptx_parser/unparser/instruction/
clusterlaunchcontrol_query_cancel.rs

1//! Original PTX specification:
2//!
3//! clusterlaunchcontrol.query_cancel.is_canceled.pred.b128 pred, try_cancel_response;
4//! clusterlaunchcontrol.query_cancel.get_first_ctaid.v4.b32.b128 {xdim, ydim, zdim, _},  try_cancel_response;
5//! clusterlaunchcontrol.query_cancel{.get_first_ctaid::dimension}.b32.b128 reg, try_cancel_response;
6//! .get_first_ctaid::dimension = { .get_first_ctaid::x, .get_first_ctaid::y, .get_first_ctaid::z };
7
8#![allow(unused)]
9
10use crate::lexer::PtxToken;
11use crate::unparser::{PtxUnparser, common::*};
12
13pub mod section_0 {
14    use super::*;
15    use crate::r#type::instruction::clusterlaunchcontrol_query_cancel::section_0::*;
16
17    impl PtxUnparser for ClusterlaunchcontrolQueryCancelIsCanceledPredB128 {
18        fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
19            push_opcode(tokens, "clusterlaunchcontrol");
20                    push_directive(tokens, "query_cancel");
21                    push_directive(tokens, "is_canceled");
22                    push_directive(tokens, "pred");
23                    push_directive(tokens, "b128");
24                    self.pred2.unparse_tokens(tokens);
25            tokens.push(PtxToken::Comma);
26                    self.try_cancel_response.unparse_tokens(tokens);
27            tokens.push(PtxToken::Semicolon);
28        }
29    }
30
31    impl PtxUnparser for ClusterlaunchcontrolQueryCancelGetFirstCtaidV4B32B128 {
32        fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
33            push_opcode(tokens, "clusterlaunchcontrol");
34                    push_directive(tokens, "query_cancel");
35                    push_directive(tokens, "get_first_ctaid");
36                    push_directive(tokens, "v4");
37                    push_directive(tokens, "b32");
38                    push_directive(tokens, "b128");
39                    self.xdim.unparse_tokens(tokens);
40            tokens.push(PtxToken::Comma);
41                    self.try_cancel_response.unparse_tokens(tokens);
42            tokens.push(PtxToken::Semicolon);
43        }
44    }
45
46    impl PtxUnparser for ClusterlaunchcontrolQueryCancelGetFirstCtaidDimensionB32B128 {
47        fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
48            push_opcode(tokens, "clusterlaunchcontrol");
49                    push_directive(tokens, "query_cancel");
50                    if let Some(get_first_ctaid_dimension_0) = self.get_first_ctaid_dimension.as_ref() {
51                            match get_first_ctaid_dimension_0 {
52                                    GetFirstCtaidDimension::GetFirstCtaidX => {
53                                            push_directive(tokens, "get_first_ctaid::x");
54                                    }
55                                    GetFirstCtaidDimension::GetFirstCtaidY => {
56                                            push_directive(tokens, "get_first_ctaid::y");
57                                    }
58                                    GetFirstCtaidDimension::GetFirstCtaidZ => {
59                                            push_directive(tokens, "get_first_ctaid::z");
60                                    }
61                            }
62                    }
63                    push_directive(tokens, "b32");
64                    push_directive(tokens, "b128");
65                    self.reg.unparse_tokens(tokens);
66            tokens.push(PtxToken::Comma);
67                    self.try_cancel_response.unparse_tokens(tokens);
68            tokens.push(PtxToken::Semicolon);
69        }
70    }
71
72}
73