1#![allow(unused)]
20use crate::r#type::common::*;
21
22pub mod section_0 {
23 use crate::Spanned;
24 use crate::parser::Span;
25 use crate::r#type::common::*;
26
27 use serde::Serialize;
28
29 #[derive(Debug, Clone, PartialEq, Serialize)]
30 pub enum Dtype {
31 U32, S32, }
34
35 #[derive(Debug, Clone, PartialEq, Serialize)]
36 pub enum Atype {
37 U32, S32, }
40
41 #[derive(Debug, Clone, PartialEq, Serialize)]
42 pub enum Btype {
43 U32, S32, }
46
47 #[derive(Debug, Clone, PartialEq, Serialize)]
48 pub enum Mask {
49 B3210, B210, B310, B320, B321, B10, B20, B21, B30, B31, B32, B0, B1, B2, B3, }
65
66 #[derive(Debug, Clone, PartialEq, Serialize)]
67 pub enum N {
68 _0, _1, _2, _3, _4, _5, _6, _7, }
77
78 #[derive(Debug, Clone, PartialEq, Serialize)]
79 pub enum Asel {
80 BNNNN((), N, N, N, N), }
82
83 #[derive(Debug, Clone, PartialEq, Serialize)]
84 pub enum Bsel {
85 BNNNN((), N, N, N, N), }
87
88 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
89 pub struct Vadd4DtypeAtypeBtypeSat {
90 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,
102 }
103
104 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
105 pub struct Vsub4DtypeAtypeBtypeSat {
106 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,
118 }
119
120 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
121 pub struct Vavrg4DtypeAtypeBtypeSat {
122 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,
134 }
135
136 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
137 pub struct Vabsdiff4DtypeAtypeBtypeSat {
138 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,
150 }
151
152 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
153 pub struct Vmin4DtypeAtypeBtypeSat {
154 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,
166 }
167
168 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
169 pub struct Vmax4DtypeAtypeBtypeSat {
170 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,
182 }
183
184 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
185 pub struct Vadd4DtypeAtypeBtypeAdd {
186 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,
198 }
199
200 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
201 pub struct Vsub4DtypeAtypeBtypeAdd {
202 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,
214 }
215
216 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
217 pub struct Vavrg4DtypeAtypeBtypeAdd {
218 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,
230 }
231
232 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
233 pub struct Vabsdiff4DtypeAtypeBtypeAdd {
234 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,
246 }
247
248 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
249 pub struct Vmin4DtypeAtypeBtypeAdd {
250 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,
262 }
263
264 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
265 pub struct Vmax4DtypeAtypeBtypeAdd {
266 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,
278 }
279}
280
281pub use section_0::Asel as Asel0;
284pub use section_0::Atype as Atype0;
285pub use section_0::Bsel as Bsel0;
286pub use section_0::Btype as Btype0;
287pub use section_0::Dtype as Dtype0;
288pub use section_0::Mask as Mask0;
289pub use section_0::N as N0;
290pub use section_0::Vabsdiff4DtypeAtypeBtypeAdd;
291pub use section_0::Vabsdiff4DtypeAtypeBtypeSat;
292pub use section_0::Vadd4DtypeAtypeBtypeAdd;
293pub use section_0::Vadd4DtypeAtypeBtypeSat;
294pub use section_0::Vavrg4DtypeAtypeBtypeAdd;
295pub use section_0::Vavrg4DtypeAtypeBtypeSat;
296pub use section_0::Vmax4DtypeAtypeBtypeAdd;
297pub use section_0::Vmax4DtypeAtypeBtypeSat;
298pub use section_0::Vmin4DtypeAtypeBtypeAdd;
299pub use section_0::Vmin4DtypeAtypeBtypeSat;
300pub use section_0::Vsub4DtypeAtypeBtypeAdd;
301pub use section_0::Vsub4DtypeAtypeBtypeSat;