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}