pub mod EXTR_32_extract {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111111000001000000000000000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b00010011100000000000000000000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "EXTR_32_extract";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rd_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rd_WIDTH: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rn_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rn_WIDTH: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_imms_OFFSET: u32 = 10u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_imms_WIDTH: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rm_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rm_WIDTH: u32 = 5u32;
#[inline]
pub const fn EXTR_32_extract(
Rm: ::aarchmrs_types::BitValue<5>,
imms: ::aarchmrs_types::BitValue<5>,
Rn: ::aarchmrs_types::BitValue<5>,
Rd: ::aarchmrs_types::BitValue<5>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b00010011100u32 << 21u32
| Rm.into_inner() << 16u32
| 0b0u32 << 15u32
| imms.into_inner() << 10u32
| Rn.into_inner() << 5u32
| Rd.into_inner() << 0u32,
)
}
}
pub mod EXTR_64_extract {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111111000000000000000000000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b10010011110000000000000000000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "EXTR_64_extract";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rd_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rd_WIDTH: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rn_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rn_WIDTH: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_imms_OFFSET: u32 = 10u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_imms_WIDTH: u32 = 6u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rm_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Rm_WIDTH: u32 = 5u32;
#[inline]
pub const fn EXTR_64_extract(
Rm: ::aarchmrs_types::BitValue<5>,
imms: ::aarchmrs_types::BitValue<6>,
Rn: ::aarchmrs_types::BitValue<5>,
Rd: ::aarchmrs_types::BitValue<5>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b10010011110u32 << 21u32
| Rm.into_inner() << 16u32
| imms.into_inner() << 10u32
| Rn.into_inner() << 5u32
| Rd.into_inner() << 0u32,
)
}
}