ptx_parser/type/instruction/
vmad.rs1#![allow(unused)]
12use crate::r#type::common::*;
13
14pub mod section_0 {
15 use crate::Spanned;
16 use crate::parser::Span;
17 use crate::r#type::common::*;
18
19 use serde::Serialize;
20
21 #[derive(Debug, Clone, PartialEq, Serialize)]
22 pub enum Dtype {
23 U32, S32, }
26
27 #[derive(Debug, Clone, PartialEq, Serialize)]
28 pub enum Atype {
29 U32, S32, }
32
33 #[derive(Debug, Clone, PartialEq, Serialize)]
34 pub enum Btype {
35 U32, S32, }
38
39 #[derive(Debug, Clone, PartialEq, Serialize)]
40 pub enum Scale {
41 Shr15, Shr7, }
44
45 #[derive(Debug, Clone, PartialEq, Serialize)]
46 pub enum Asel {
47 B0, B1, B2, B3, H0, H1, }
54
55 #[derive(Debug, Clone, PartialEq, Serialize)]
56 pub enum Bsel {
57 B0, B1, B2, B3, H0, H1, }
64
65 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
66 pub struct VmadDtypeAtypeBtypeSatScale {
67 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub scale: Option<Scale>, pub d: GeneralOperand, pub a_op: bool, pub a: GeneralOperand, pub asel: Option<Asel>, pub b_op: bool, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c_op: bool, pub c: GeneralOperand, pub span: Span,
82 }
83
84 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
85 pub struct VmadDtypeAtypeBtypePoSatScale {
86 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub po: (), pub sat: bool, pub scale: Option<Scale>, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
99 }
100}
101
102pub use section_0::Asel as Asel0;
105pub use section_0::Atype as Atype0;
106pub use section_0::Bsel as Bsel0;
107pub use section_0::Btype as Btype0;
108pub use section_0::Dtype as Dtype0;
109pub use section_0::Scale as Scale0;
110pub use section_0::VmadDtypeAtypeBtypePoSatScale;
111pub use section_0::VmadDtypeAtypeBtypeSatScale;