Skip to main content

ptx_parser/unparser/instruction/
bar_warp_sync.rs

1//! Original PTX specification:
2//!
3//! bar.warp.sync      membermask;
4
5#![allow(unused)]
6
7use crate::lexer::PtxToken;
8use crate::unparser::{PtxUnparser, common::*};
9
10pub mod section_0 {
11    use super::*;
12    use crate::r#type::instruction::bar_warp_sync::section_0::*;
13
14    impl PtxUnparser for BarWarpSync {
15        fn unparse_tokens(&self, tokens: &mut ::std::vec::Vec<PtxToken>) {
16            self.unparse_tokens_mode(tokens, false);
17        }
18        fn unparse_tokens_mode(&self, tokens: &mut ::std::vec::Vec<PtxToken>, spaced: bool) {
19            push_opcode(tokens, "bar");
20            push_directive(tokens, "warp");
21            push_directive(tokens, "sync");
22            if spaced {
23                tokens.push(PtxToken::Space);
24            }
25            self.membermask.unparse_tokens_mode(tokens, spaced);
26            tokens.push(PtxToken::Semicolon);
27            if spaced {
28                tokens.push(PtxToken::Newline);
29            }
30        }
31    }
32}