ptx_parser/type/instruction/
add.rs1#![allow(unused)]
25use crate::r#type::common::*;
26
27pub mod section_0 {
28 use crate::Spanned;
29 use crate::parser::Span;
30 use crate::r#type::common::*;
31
32 use serde::Serialize;
33
34 #[derive(Debug, Clone, PartialEq, Serialize)]
35 pub enum Type {
36 U16x2, S16x2, U16, U32, U64, S16, S32, S64, }
45
46 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
47 pub struct AddType {
48 pub type_: Type, pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
53 }
54
55 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
56 pub struct AddSatS32 {
57 pub sat: bool, pub s32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
63 }
64}
65
66pub mod section_1 {
67 use crate::Spanned;
68 use crate::parser::Span;
69 use crate::r#type::common::*;
70
71 use serde::Serialize;
72
73 #[derive(Debug, Clone, PartialEq, Serialize)]
74 pub enum Rnd {
75 Rn, Rz, Rm, Rp, }
80
81 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
82 pub struct AddRndFtzSatF32 {
83 pub rnd: Option<Rnd>, pub ftz: bool, pub sat: bool, pub f32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
91 }
92
93 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
94 pub struct AddRndFtzF32x2 {
95 pub rnd: Option<Rnd>, pub ftz: bool, pub f32x2: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
102 }
103
104 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
105 pub struct AddRndF64 {
106 pub rnd: Option<Rnd>, pub f64: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
112 }
113}
114
115pub mod section_2 {
116 use crate::Spanned;
117 use crate::parser::Span;
118 use crate::r#type::common::*;
119
120 use serde::Serialize;
121
122 #[derive(Debug, Clone, PartialEq, Serialize)]
123 pub enum Rnd {
124 Rn, }
126
127 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
128 pub struct AddRndFtzSatF16 {
129 pub rnd: Option<Rnd>, pub ftz: bool, pub sat: bool, pub f16: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
137 }
138
139 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
140 pub struct AddRndFtzSatF16x2 {
141 pub rnd: Option<Rnd>, pub ftz: bool, pub sat: bool, pub f16x2: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
149 }
150
151 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
152 pub struct AddRndBf16 {
153 pub rnd: Option<Rnd>, pub bf16: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
159 }
160
161 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
162 pub struct AddRndBf16x2 {
163 pub rnd: Option<Rnd>, pub bf16x2: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub span: Span,
169 }
170}
171
172pub mod section_3 {
173 use crate::Spanned;
174 use crate::parser::Span;
175 use crate::r#type::common::*;
176
177 use serde::Serialize;
178
179 #[derive(Debug, Clone, PartialEq, Serialize)]
180 pub enum Rnd {
181 Rn, Rz, Rm, Rp, }
186
187 #[derive(Debug, Clone, PartialEq, Serialize)]
188 pub enum Atype {
189 Bf16, F16, }
192
193 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
194 pub struct AddRndSatF32Atype {
195 pub rnd: Option<Rnd>, pub sat: bool, pub f32: (), pub atype: Atype, pub d: GeneralOperand, pub a: GeneralOperand, pub c: GeneralOperand, pub span: Span,
203 }
204}
205
206pub use section_0::AddSatS32;
209pub use section_0::AddType;
210pub use section_0::Type as Type0;
211pub use section_1::AddRndF64;
212pub use section_1::AddRndFtzF32x2;
213pub use section_1::AddRndFtzSatF32;
214pub use section_1::Rnd as Rnd1;
215pub use section_2::AddRndBf16;
216pub use section_2::AddRndBf16x2;
217pub use section_2::AddRndFtzSatF16;
218pub use section_2::AddRndFtzSatF16x2;
219pub use section_2::Rnd as Rnd2;
220pub use section_3::AddRndSatF32Atype;
221pub use section_3::Atype as Atype3;
222pub use section_3::Rnd as Rnd3;