Skip to main content

ptx_parser/type/instruction/
rsqrt.rs

1//! Original PTX specification:
2//!
3//! rsqrt.approx{.ftz}.f32  d, a;
4//! rsqrt.approx.f64        d, a;
5
6#![allow(unused)]
7use crate::r#type::common::*;
8
9pub mod section_0 {
10    use crate::Spanned;
11    use crate::parser::Span;
12    use crate::r#type::common::*;
13
14    use serde::Serialize;
15
16    #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
17    pub struct RsqrtApproxFtzF32 {
18        pub approx: (),        // .approx
19        pub ftz: bool,         // {.ftz}
20        pub f32: (),           // .f32
21        pub d: GeneralOperand, // d
22        pub a: GeneralOperand, // a
23        pub span: Span,
24    }
25
26    #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
27    pub struct RsqrtApproxF64 {
28        pub approx: (),        // .approx
29        pub f64: (),           // .f64
30        pub d: GeneralOperand, // d
31        pub a: GeneralOperand, // a
32        pub span: Span,
33    }
34}
35
36// Re-export types with section suffixes to avoid naming conflicts
37// e.g., Type0 for section_0::Type, Type1 for section_1::Type
38pub use section_0::RsqrtApproxF64;
39pub use section_0::RsqrtApproxFtzF32;