ptx_parser/type/instruction/
bar.rs1#![allow(unused)]
14use crate::r#type::common::*;
15
16pub mod section_0 {
17 use crate::Spanned;
18 use crate::parser::Span;
19 use crate::r#type::common::*;
20
21 use serde::Serialize;
22
23 #[derive(Debug, Clone, PartialEq, Serialize)]
24 pub enum Op {
25 And, Or, }
28
29 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
30 pub struct BarrierCtaSyncAligned {
31 pub cta: bool, pub sync: (), pub aligned: bool, pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub span: Span,
37 }
38
39 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
40 pub struct BarrierCtaArriveAligned {
41 pub cta: bool, pub arrive: (), pub aligned: bool, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
47 }
48
49 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
50 pub struct BarrierCtaRedPopcAlignedU32 {
51 pub cta: bool, pub red: (), pub popc: (), pub aligned: bool, pub u32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub c_op: bool, pub c: GeneralOperand, pub span: Span,
62 }
63
64 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
65 pub struct BarrierCtaRedOpAlignedPred {
66 pub cta: bool, pub red: (), pub op: Op, pub aligned: bool, pub pred: (), pub p: GeneralOperand, pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub c_op: bool, pub c: GeneralOperand, pub span: Span,
77 }
78
79 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
80 pub struct BarCtaSync {
81 pub cta: bool, pub sync: (), pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub span: Span,
86 }
87
88 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
89 pub struct BarCtaArrive {
90 pub cta: bool, pub arrive: (), pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
95 }
96
97 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
98 pub struct BarCtaRedPopcU32 {
99 pub cta: bool, pub red: (), pub popc: (), pub u32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub c_op: bool, pub c: GeneralOperand, pub span: Span,
109 }
110
111 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
112 pub struct BarCtaRedOpPred {
113 pub cta: bool, pub red: (), pub op: Op, pub pred: (), pub p: GeneralOperand, pub a: GeneralOperand, pub b: Option<GeneralOperand>, pub c_op: bool, pub c: GeneralOperand, pub span: Span,
123 }
124}
125
126pub use section_0::BarCtaArrive;
129pub use section_0::BarCtaRedOpPred;
130pub use section_0::BarCtaRedPopcU32;
131pub use section_0::BarCtaSync;
132pub use section_0::BarrierCtaArriveAligned;
133pub use section_0::BarrierCtaRedOpAlignedPred;
134pub use section_0::BarrierCtaRedPopcAlignedU32;
135pub use section_0::BarrierCtaSyncAligned;
136pub use section_0::Op as Op0;