1#![allow(unused)]
15use crate::r#type::common::*;
16
17pub mod section_0 {
18 use crate::Spanned;
19 use crate::parser::Span;
20 use crate::r#type::common::*;
21
22 use serde::Serialize;
23
24 #[derive(Debug, Clone, PartialEq, Serialize)]
25 pub enum Dtype {
26 U32, S32, }
29
30 #[derive(Debug, Clone, PartialEq, Serialize)]
31 pub enum Atype {
32 U32, S32, }
35
36 #[derive(Debug, Clone, PartialEq, Serialize)]
37 pub enum Btype {
38 U32, S32, }
41
42 #[derive(Debug, Clone, PartialEq, Serialize)]
43 pub enum Mask {
44 H10, H0, H1, }
48
49 #[derive(Debug, Clone, PartialEq, Serialize)]
50 pub enum Asel {
51 H00, H01, H02, H03, H10, H11, H12, H13, H20, H21, H22, H23, H30, H31, H32, H33, }
68
69 #[derive(Debug, Clone, PartialEq, Serialize)]
70 pub enum Bsel {
71 H00, H01, H02, H03, H10, H11, H12, H13, H20, H21, H22, H23, H30, H31, H32, H33, }
88
89 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
90 pub struct Vadd2DtypeAtypeBtypeSat {
91 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
103 }
104
105 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
106 pub struct Vsub2DtypeAtypeBtypeSat {
107 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
119 }
120
121 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
122 pub struct Vavrg2DtypeAtypeBtypeSat {
123 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
135 }
136
137 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
138 pub struct Vabsdiff2DtypeAtypeBtypeSat {
139 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
151 }
152
153 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
154 pub struct Vmin2DtypeAtypeBtypeSat {
155 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
167 }
168
169 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
170 pub struct Vmax2DtypeAtypeBtypeSat {
171 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
183 }
184
185 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
186 pub struct Vadd2DtypeAtypeBtypeAdd {
187 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
199 }
200
201 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
202 pub struct Vsub2DtypeAtypeBtypeAdd {
203 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
215 }
216
217 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
218 pub struct Vavrg2DtypeAtypeBtypeAdd {
219 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
231 }
232
233 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
234 pub struct Vabsdiff2DtypeAtypeBtypeAdd {
235 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
247 }
248
249 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
250 pub struct Vmin2DtypeAtypeBtypeAdd {
251 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
263 }
264
265 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
266 pub struct Vmax2DtypeAtypeBtypeAdd {
267 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub add: (), pub d: GeneralOperand, pub mask: Option<Mask>, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
279 }
280}
281
282pub use section_0::Asel as Asel0;
285pub use section_0::Atype as Atype0;
286pub use section_0::Bsel as Bsel0;
287pub use section_0::Btype as Btype0;
288pub use section_0::Dtype as Dtype0;
289pub use section_0::Mask as Mask0;
290pub use section_0::Vabsdiff2DtypeAtypeBtypeAdd;
291pub use section_0::Vabsdiff2DtypeAtypeBtypeSat;
292pub use section_0::Vadd2DtypeAtypeBtypeAdd;
293pub use section_0::Vadd2DtypeAtypeBtypeSat;
294pub use section_0::Vavrg2DtypeAtypeBtypeAdd;
295pub use section_0::Vavrg2DtypeAtypeBtypeSat;
296pub use section_0::Vmax2DtypeAtypeBtypeAdd;
297pub use section_0::Vmax2DtypeAtypeBtypeSat;
298pub use section_0::Vmin2DtypeAtypeBtypeAdd;
299pub use section_0::Vmin2DtypeAtypeBtypeSat;
300pub use section_0::Vsub2DtypeAtypeBtypeAdd;
301pub use section_0::Vsub2DtypeAtypeBtypeSat;