ptx_parser/type/instruction/
mad.rs1#![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 Mode {
26 Wide, Hi, Lo, }
30
31 #[derive(Debug, Clone, PartialEq, Serialize)]
32 pub enum Type {
33 U16, U32, U64, S16, S32, S64, }
40
41 #[derive(Debug, Clone, PartialEq, Serialize)]
42 pub enum Rnd {
43 Rn, Rz, Rm, Rp, }
48
49 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
50 pub struct MadModeType {
51 pub mode: Mode, pub type_: Type, pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub c: GeneralOperand, pub span: Span,
58 }
59
60 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
61 pub struct MadHiSatS32 {
62 pub hi: (), pub sat: (), pub s32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub c: GeneralOperand, pub span: Span,
70 }
71
72 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
73 pub struct MadFtzSatF32 {
74 pub ftz: bool, pub sat: bool, pub f32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub c: GeneralOperand, pub span: Span,
82 }
83
84 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
85 pub struct MadRndFtzSatF32 {
86 pub rnd: Rnd, pub ftz: bool, pub sat: bool, pub f32: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub c: GeneralOperand, pub span: Span,
95 }
96
97 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
98 pub struct MadRndF64 {
99 pub rnd: Rnd, pub f64: (), pub d: GeneralOperand, pub a: GeneralOperand, pub b: GeneralOperand, pub c: GeneralOperand, pub span: Span,
106 }
107}
108
109pub use section_0::MadFtzSatF32;
112pub use section_0::MadHiSatS32;
113pub use section_0::MadModeType;
114pub use section_0::MadRndF64;
115pub use section_0::MadRndFtzSatF32;
116pub use section_0::Mode as Mode0;
117pub use section_0::Rnd as Rnd0;
118pub use section_0::Type as Type0;