1#![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 Dtype {
25 U32, S32, }
28
29 #[derive(Debug, Clone, PartialEq, Serialize)]
30 pub enum Atype {
31 U32, S32, }
34
35 #[derive(Debug, Clone, PartialEq, Serialize)]
36 pub enum Btype {
37 U32, S32, }
40
41 #[derive(Debug, Clone, PartialEq, Serialize)]
42 pub enum Asel {
43 B0, B1, B2, B3, H0, H1, }
50
51 #[derive(Debug, Clone, PartialEq, Serialize)]
52 pub enum Bsel {
53 B0, B1, B2, B3, H0, H1, }
60
61 #[derive(Debug, Clone, PartialEq, Serialize)]
62 pub enum Op2 {
63 Add, Min, Max, }
67
68 #[derive(Debug, Clone, PartialEq, Serialize)]
69 pub enum Dsel {
70 B0, B1, B2, B3, H0, H1, }
77
78 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
79 pub struct VaddDtypeAtypeBtypeSat {
80 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub span: Span,
90 }
91
92 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
93 pub struct VsubDtypeAtypeBtypeSat {
94 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub span: Span,
104 }
105
106 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
107 pub struct VabsdiffDtypeAtypeBtypeSat {
108 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub span: Span,
118 }
119
120 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
121 pub struct VminDtypeAtypeBtypeSat {
122 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub span: Span,
132 }
133
134 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
135 pub struct VmaxDtypeAtypeBtypeSat {
136 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub span: Span,
146 }
147
148 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
149 pub struct VaddDtypeAtypeBtypeSatOp2 {
150 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub op2: Op2, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
162 }
163
164 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
165 pub struct VsubDtypeAtypeBtypeSatOp2 {
166 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub op2: Op2, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
178 }
179
180 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
181 pub struct VabsdiffDtypeAtypeBtypeSatOp2 {
182 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub op2: Op2, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
194 }
195
196 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
197 pub struct VminDtypeAtypeBtypeSatOp2 {
198 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub op2: Op2, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
210 }
211
212 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
213 pub struct VmaxDtypeAtypeBtypeSatOp2 {
214 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub op2: Op2, pub d: GeneralOperand, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
226 }
227
228 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
229 pub struct VaddDtypeAtypeBtypeSat1 {
230 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub dsel: Dsel, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
242 }
243
244 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
245 pub struct VsubDtypeAtypeBtypeSat1 {
246 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub dsel: Dsel, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
258 }
259
260 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
261 pub struct VabsdiffDtypeAtypeBtypeSat1 {
262 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub dsel: Dsel, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
274 }
275
276 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
277 pub struct VminDtypeAtypeBtypeSat1 {
278 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub dsel: Dsel, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
290 }
291
292 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
293 pub struct VmaxDtypeAtypeBtypeSat1 {
294 pub dtype: Dtype, pub atype: Atype, pub btype: Btype, pub sat: bool, pub d: GeneralOperand, pub dsel: Dsel, pub a: GeneralOperand, pub asel: Option<Asel>, pub b: GeneralOperand, pub bsel: Option<Bsel>, pub c: GeneralOperand, pub span: Span,
306 }
307}
308
309pub use section_0::Asel as Asel0;
312pub use section_0::Atype as Atype0;
313pub use section_0::Bsel as Bsel0;
314pub use section_0::Btype as Btype0;
315pub use section_0::Dsel as Dsel0;
316pub use section_0::Dtype as Dtype0;
317pub use section_0::Op2 as Op20;
318pub use section_0::VabsdiffDtypeAtypeBtypeSat;
319pub use section_0::VabsdiffDtypeAtypeBtypeSat1;
320pub use section_0::VabsdiffDtypeAtypeBtypeSatOp2;
321pub use section_0::VaddDtypeAtypeBtypeSat;
322pub use section_0::VaddDtypeAtypeBtypeSat1;
323pub use section_0::VaddDtypeAtypeBtypeSatOp2;
324pub use section_0::VmaxDtypeAtypeBtypeSat;
325pub use section_0::VmaxDtypeAtypeBtypeSat1;
326pub use section_0::VmaxDtypeAtypeBtypeSatOp2;
327pub use section_0::VminDtypeAtypeBtypeSat;
328pub use section_0::VminDtypeAtypeBtypeSat1;
329pub use section_0::VminDtypeAtypeBtypeSatOp2;
330pub use section_0::VsubDtypeAtypeBtypeSat;
331pub use section_0::VsubDtypeAtypeBtypeSat1;
332pub use section_0::VsubDtypeAtypeBtypeSatOp2;