pub struct Vec(pub Reg);Tuple Fields§
§0: RegImplementations§
Source§impl Vec
impl Vec
pub const fn new() -> Self
pub const fn from_signature_and_id(signature: OperandSignature, id: u32) -> Self
pub const fn from_type_and_id(typ: RegType, id: u32) -> Self
Source§impl Vec
impl Vec
pub const SIGNATURE_REG_ELEMENT_TYPE_SHIFT: u32 = 12
pub const SIGNATURE_REG_ELEMENT_TYPE_MASK: u32
pub const SIGNATURE_REG_ELEMENT_FLAG_SHIFT: u32 = 15
pub const SIGNATURE_REG_ELEMENT_FLAG_MASK: u32
pub const SIGNATURE_REG_ELEMENT_INDEX_SHIFT: u32 = 16
pub const SIGNATURE_REG_ELEMENT_INDEX_MASK: u32
pub const SIGNATURE_ELEMENT_B: u32
pub const SIGNATURE_ELEMENT_H: u32
pub const SIGNATURE_ELEMENT_S: u32
pub const SIGNATURE_ELEMENT_D: u32
pub const SIGNATURE_ELEMENT_B4: u32
pub const SIGNATURE_ELEMENT_H2: u32
pub const SIGNATURE: u32 = Reg::SIGNATURE
pub const fn signature_of(typ: RegType) -> OperandSignature
pub const fn make_v8(reg_id: u32) -> Self
pub const fn make_v16(reg_id: u32) -> Self
pub const fn make_v32(reg_id: u32) -> Self
pub const fn make_v64(reg_id: u32) -> Self
pub const fn make_v128(reg_id: u32) -> Self
pub const fn make_b(reg_id: u32) -> Self
pub const fn make_h(reg_id: u32) -> Self
pub const fn make_s(reg_id: u32) -> Self
pub const fn make_d(reg_id: u32) -> Self
pub const fn make_q(reg_id: u32) -> Self
pub const fn make_v32_with_element_type( element_type: VecElementType, reg_id: u32, ) -> Self
pub const fn make_v64_with_element_type( element_type: VecElementType, reg_id: u32, ) -> Self
pub const fn make_v128_with_element_type( element_type: VecElementType, reg_id: u32, ) -> Self
pub const fn make_v128_with_element_index( element_type: VecElementType, element_index: u32, reg_id: u32, ) -> Self
pub fn has_element_type_or_index(&self) -> bool
pub fn is_vec_b8(&self) -> bool
pub fn is_vec_h4(&self) -> bool
pub fn is_vec_s2(&self) -> bool
pub fn is_vec_d1(&self) -> bool
pub fn is_vec_b16(&self) -> bool
pub fn is_vec_h8(&self) -> bool
pub fn is_vec_s4(&self) -> bool
pub fn is_vec_d2(&self) -> bool
pub fn is_vec_b4x4(&self) -> bool
pub fn is_vec_h2x4(&self) -> bool
pub fn v8(&self) -> Self
pub fn v16(&self) -> Self
pub fn v32(&self) -> Self
pub fn v64(&self) -> Self
pub fn v128(&self) -> Self
pub fn b(&self) -> Self
pub fn h(&self) -> Self
pub fn s(&self) -> Self
pub fn d(&self) -> Self
pub fn q(&self) -> Self
pub fn b_at(&self, element_index: u32) -> Self
pub fn h_at(&self, element_index: u32) -> Self
pub fn s_at(&self, element_index: u32) -> Self
pub fn d_at(&self, element_index: u32) -> Self
pub fn h2_at(&self, element_index: u32) -> Self
pub fn b4_at(&self, element_index: u32) -> Self
pub fn b8(&self) -> Self
pub fn b16(&self) -> Self
pub fn h2(&self) -> Self
pub fn h4(&self) -> Self
pub fn h8(&self) -> Self
pub fn s2(&self) -> Self
pub fn s4(&self) -> Self
pub fn d2(&self) -> Self
pub fn has_element_type(&self) -> bool
pub fn element_type(&self) -> VecElementType
pub fn set_element_type(&mut self, element_type: VecElementType)
pub fn reset_element_type(&mut self)
pub fn has_element_index(&self) -> bool
pub fn element_index(&self) -> u32
pub fn set_element_index(&mut self, element_index: u32)
pub fn reset_element_index(&mut self)
pub fn at(&self, element_index: u32) -> Self
Methods from Deref<Target = Reg>§
pub const SIGNATURE: u32 = BaseReg::SIGNATURE
pub fn is_gp(&self) -> bool
pub fn is_gp32(&self) -> bool
pub fn is_gp64(&self) -> bool
pub fn is_vec(&self) -> bool
pub fn is_vec8(&self) -> bool
pub fn is_vec16(&self) -> bool
pub fn is_vec32(&self) -> bool
pub fn is_vec64(&self) -> bool
pub fn is_vec128(&self) -> bool
pub fn set_reg_t<T: RegTraits>(&mut self, rid: u32)
pub fn set_type_and_id(&mut self, typ: RegType, id: u32)
Methods from Deref<Target = BaseReg>§
pub const SIGNATURE: u32 = REG_BASE_SIGNATURE_MASK
pub fn base_signature(&self) -> OperandSignature
pub fn has_base_signature(&self, signature: impl Into<OperandSignature>) -> bool
pub fn is_valid(&self) -> bool
pub fn is_phys_reg(&self) -> bool
pub fn is_virt_reg(&self) -> bool
pub fn is_type(&self, typ: RegType) -> bool
pub fn is_group(&self, group: RegGroup) -> bool
pub fn is_gp(&self) -> bool
pub fn is_vec(&self) -> bool
pub fn is_mask(&self) -> bool
pub fn is_reg_of_type(&self, typ: RegType) -> bool
pub fn is_reg_of_type_and_id(&self, typ: RegType, id: u32) -> bool
pub fn typ(&self) -> RegType
pub fn group(&self) -> RegGroup
pub fn has_size(&self) -> bool
pub fn size(&self) -> u32
pub fn predicate(&self) -> u32
pub fn set_predicate(&mut self, predicate: u32)
pub fn reset_predicate(&mut self)
Methods from Deref<Target = Operand>§
pub fn reset(&mut self)
pub fn has_signature(&self, other: OperandSignature) -> bool
pub fn signature(&self) -> OperandSignature
pub fn set_signature(&mut self, sig: OperandSignature)
pub fn set_id(&mut self, id: u32)
pub fn op_type(&self) -> OperandType
pub fn is_none(&self) -> bool
pub fn is_reg(&self) -> bool
pub fn is_reg_list(&self) -> bool
pub fn is_mem(&self) -> bool
pub fn is_imm(&self) -> bool
pub fn is_label(&self) -> bool
pub fn is_sym(&self) -> bool
pub fn is_phys_reg(&self) -> bool
pub fn is_virt_reg(&self) -> bool
pub fn id(&self) -> u32
pub fn is_reg_type_of(&self, typ: RegType) -> bool
pub fn is_reg_group_of(&self, group: RegGroup) -> bool
pub fn is_gp(&self) -> bool
pub fn is_gp32(&self) -> bool
pub fn is_gp64(&self) -> bool
pub fn is_vec(&self) -> bool
pub fn is_vec8(&self) -> bool
pub fn is_vec16(&self) -> bool
pub fn is_vec32(&self) -> bool
pub fn is_vec64(&self) -> bool
pub fn is_vec128(&self) -> bool
pub fn is_vec256(&self) -> bool
pub fn is_vec512(&self) -> bool
pub fn is_mask(&self) -> bool
pub fn is_reg_list_of(&self, typ: RegType) -> bool
pub fn is_reg_or_mem(&self) -> bool
pub fn is_reg_or_reg_list_or_mem(&self) -> bool
pub fn x86_rm_size(&self) -> u32
pub fn as_<T>(&self) -> Twhere
T: OperandCast,
Trait Implementations§
Source§impl OperandCast for Vec
impl OperandCast for Vec
fn as_operand(&self) -> &Operand
fn from_operand(op: &Operand) -> Self
Source§impl Ord for Vec
impl Ord for Vec
Source§impl PartialOrd for Vec
impl PartialOrd for Vec
impl Copy for Vec
impl Eq for Vec
impl StructuralPartialEq for Vec
Auto Trait Implementations§
impl Freeze for Vec
impl RefUnwindSafe for Vec
impl Send for Vec
impl Sync for Vec
impl Unpin for Vec
impl UnsafeUnpin for Vec
impl UnwindSafe for Vec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more