Skip to main content

ptx_parser/type/instruction/
movmatrix.rs

1//! Original PTX specification:
2//!
3//! movmatrix.sync.aligned.shape.trans.type d, a;
4//! .shape  = {.m8n8};
5//! .type   = {.b16};
6
7#![allow(unused)]
8use crate::r#type::common::*;
9
10pub mod section_0 {
11    use crate::Spanned;
12    use crate::parser::Span;
13    use crate::r#type::common::*;
14
15    use serde::Serialize;
16
17    #[derive(Debug, Clone, PartialEq, Serialize)]
18    pub enum Shape {
19        M8n8, // .m8n8
20    }
21
22    #[derive(Debug, Clone, PartialEq, Serialize)]
23    pub enum Type {
24        B16, // .b16
25    }
26
27    #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
28    pub struct MovmatrixSyncAlignedShapeTransType {
29        pub sync: (),          // .sync
30        pub aligned: (),       // .aligned
31        pub shape: Shape,      // .shape
32        pub trans: (),         // .trans
33        pub type_: Type,       // .type
34        pub d: GeneralOperand, // d
35        pub a: GeneralOperand, // a
36        pub span: Span,
37    }
38}
39
40// Re-export types with section suffixes to avoid naming conflicts
41// e.g., Type0 for section_0::Type, Type1 for section_1::Type
42pub use section_0::MovmatrixSyncAlignedShapeTransType;
43pub use section_0::Shape as Shape0;
44pub use section_0::Type as Type0;