pub mod VCADD_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111110101000000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100100000000000100000000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VCADD_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_OFFSET: u32 = 20u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_OFFSET: u32 = 24u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_WIDTH: u32 = 1u32;
#[inline]
pub const fn VCADD_A1_D(
rot: ::aarchmrs_types::BitValue<1>,
D: ::aarchmrs_types::BitValue<1>,
S: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b1111110u32 << 25u32
| rot.into_inner() << 24u32
| 0b1u32 << 23u32
| D.into_inner() << 22u32
| 0b0u32 << 21u32
| S.into_inner() << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VCADD_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111110101000000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100100000000000100001000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VCADD_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_OFFSET: u32 = 20u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_OFFSET: u32 = 24u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_WIDTH: u32 = 1u32;
#[inline]
pub const fn VCADD_A1_Q(
rot: ::aarchmrs_types::BitValue<1>,
D: ::aarchmrs_types::BitValue<1>,
S: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b1111110u32 << 25u32
| rot.into_inner() << 24u32
| 0b1u32 << 23u32
| D.into_inner() << 22u32
| 0b0u32 << 21u32
| S.into_inner() << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VMMLA_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100000000000000110001000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VMMLA_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VMMLA_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b00u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1100u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VDOT_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100000000000000110100000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VDOT_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VDOT_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b00u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VDOT_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100000000000000110101000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VDOT_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VDOT_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b00u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VFMAL_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000100000010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VFMAL_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VFMAL_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VFMAL_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000100001010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VFMAL_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VFMAL_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VSMMLA_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110001000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VSMMLA_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VSMMLA_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1100u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUMMLA_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110001010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUMMLA_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUMMLA_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1100u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VSDOT_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110100000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VSDOT_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VSDOT_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VSDOT_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110101000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VSDOT_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VSDOT_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUDOT_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110100010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUDOT_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUDOT_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUDOT_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000110101010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUDOT_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUDOT_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VFMA_bf_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111100010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001100000000100000010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VFMA_bf_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Q_OFFSET: u32 = 6u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Q_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VFMA_bf_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
Q: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111000u32 << 23u32
| D.into_inner() << 22u32
| 0b11u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| Q.into_inner() << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VFMSL_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100101000000000100000010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VFMSL_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VFMSL_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111001u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VFMSL_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100101000000000100001010000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VFMSL_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VFMSL_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111001u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b1u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUSMMLA_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100101000000000110001000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUSMMLA_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUSMMLA_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111001u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1100u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUSDOT_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100101000000000110100000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUSDOT_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUSDOT_A1_D(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111001u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VUSDOT_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111111101100000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100101000000000110101000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VUSDOT_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[inline]
pub const fn VUSDOT_A1_Q(
D: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b111111001u32 << 23u32
| D.into_inner() << 22u32
| 0b10u32 << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1101u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VCMLA_A1_D {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111110001000000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000100000000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VCMLA_A1_D";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_OFFSET: u32 = 20u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_OFFSET: u32 = 23u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_WIDTH: u32 = 2u32;
#[inline]
pub const fn VCMLA_A1_D(
rot: ::aarchmrs_types::BitValue<2>,
D: ::aarchmrs_types::BitValue<1>,
S: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b1111110u32 << 25u32
| rot.into_inner() << 23u32
| D.into_inner() << 22u32
| 0b1u32 << 21u32
| S.into_inner() << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b0u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}
pub mod VCMLA_A1_Q {
#[cfg(feature = "meta")]
pub const OPCODE_MASK: u32 = 0b11111110001000000000111101010000u32;
#[cfg(feature = "meta")]
pub const OPCODE: u32 = 0b11111100001000000000100001000000u32;
#[cfg(feature = "meta")]
pub const SHOULD_BE_MASK: u32 = 0b00000000000000000000000000000000u32;
#[cfg(feature = "meta")]
pub const NAME: &str = "VCMLA_A1_Q";
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_OFFSET: u32 = 0u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vm_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_OFFSET: u32 = 5u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_M_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_OFFSET: u32 = 7u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_N_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_OFFSET: u32 = 12u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vd_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_OFFSET: u32 = 16u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_Vn_WIDTH: u32 = 4u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_OFFSET: u32 = 20u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_S_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_OFFSET: u32 = 22u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_D_WIDTH: u32 = 1u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_OFFSET: u32 = 23u32;
#[cfg(feature = "meta_field")]
#[allow(nonstandard_style)]
pub const FIELD_rot_WIDTH: u32 = 2u32;
#[inline]
pub const fn VCMLA_A1_Q(
rot: ::aarchmrs_types::BitValue<2>,
D: ::aarchmrs_types::BitValue<1>,
S: ::aarchmrs_types::BitValue<1>,
Vn: ::aarchmrs_types::BitValue<4>,
Vd: ::aarchmrs_types::BitValue<4>,
N: ::aarchmrs_types::BitValue<1>,
M: ::aarchmrs_types::BitValue<1>,
Vm: ::aarchmrs_types::BitValue<4>,
) -> ::aarchmrs_types::InstructionCode {
::aarchmrs_types::InstructionCode::from_u32(
0b1111110u32 << 25u32
| rot.into_inner() << 23u32
| D.into_inner() << 22u32
| 0b1u32 << 21u32
| S.into_inner() << 20u32
| Vn.into_inner() << 16u32
| Vd.into_inner() << 12u32
| 0b1000u32 << 8u32
| N.into_inner() << 7u32
| 0b1u32 << 6u32
| M.into_inner() << 5u32
| 0b0u32 << 4u32
| Vm.into_inner() << 0u32,
)
}
}