pub struct OperandSignature {
pub bits: u32,
}Fields§
§bits: u32Implementations§
Source§impl OperandSignature
impl OperandSignature
Sourcepub const OP_TYPE_SHIFT: u32 = 0u32
pub const OP_TYPE_SHIFT: u32 = 0u32
Shift value for the operand type.
Sourcepub const OP_TYPE_MASK: u32 = 7u32
pub const OP_TYPE_MASK: u32 = 7u32
Mask for the operand type.
Sourcepub const REG_TYPE_SHIFT: u32 = 3u32
pub const REG_TYPE_SHIFT: u32 = 3u32
Shift value for the register type.
Sourcepub const REG_TYPE_MASK: u32 = 248u32
pub const REG_TYPE_MASK: u32 = 248u32
Mask for the register type.
Sourcepub const REG_GROUP_SHIFT: u32 = 8u32
pub const REG_GROUP_SHIFT: u32 = 8u32
Shift value for the register group.
Sourcepub const REG_GROUP_MASK: u32 = 3_840u32
pub const REG_GROUP_MASK: u32 = 3_840u32
Mask for the register group.
Sourcepub const MEM_BASE_TYPE_SHIFT: u32 = 3u32
pub const MEM_BASE_TYPE_SHIFT: u32 = 3u32
Shift value for the memory base type.
Sourcepub const MEM_BASE_TYPE_MASK: u32 = 248u32
pub const MEM_BASE_TYPE_MASK: u32 = 248u32
Mask for the memory base type.
Sourcepub const MEM_INDEX_TYPE_SHIFT: u32 = 8u32
pub const MEM_INDEX_TYPE_SHIFT: u32 = 8u32
Shift value for the memory index type.
Sourcepub const MEM_INDEX_TYPE_MASK: u32 = 7_936u32
pub const MEM_INDEX_TYPE_MASK: u32 = 7_936u32
Mask for the memory index type.
Sourcepub const MEM_BASE_INDEX_SHIFT: u32 = 3u32
pub const MEM_BASE_INDEX_SHIFT: u32 = 3u32
Shift value for the memory base+index combined.
Sourcepub const MEM_BASE_INDEX_MASK: u32 = 8_184u32
pub const MEM_BASE_INDEX_MASK: u32 = 8_184u32
Mask for the memory base+index combined.
pub const MEM_REG_HOME_SHIFT: u32 = 13u32
pub const MEM_REG_HOME_FLAG: u32 = 8_192u32
Sourcepub const PREDICATE_SHIFT: u32 = 20u32
pub const PREDICATE_SHIFT: u32 = 20u32
Shift value for the predicate used by either registers or immediate values.
Sourcepub const PREDICATE_MASK: u32 = 15_728_640u32
pub const PREDICATE_MASK: u32 = 15_728_640u32
Mask for the predicate used by either registers or immediate values.
Sourcepub const SIZE_SHIFT: u32 = 24u32
pub const SIZE_SHIFT: u32 = 24u32
Shift value for the operand size.
pub const fn new(bits: u32) -> Self
pub const fn subset(&self, mask: u32) -> Self
Source§impl OperandSignature
impl OperandSignature
pub fn reset(&mut self)
pub const fn bits(&self) -> u32
pub fn set_bits(&mut self, bits: u32)
pub const fn has_field<const K_FIELD_MASK: u32>(&self) -> bool
pub const fn has_value<const K_FIELD_MASK: u32>(&self, value: u32) -> bool
pub const fn from_bits(bits: u32) -> Self
pub const fn from_value<const K_FIELD_MASK: u32>(value: u32) -> Self
pub const fn from_op_type(op_type: OperandType) -> Self
pub const fn from_reg_type(reg_type: RegType) -> Self
pub const fn from_reg_group(reg_group: RegGroup) -> Self
pub const fn from_mem_base_type(base_type: RegType) -> Self
pub const fn from_mem_index_type(index_type: RegType) -> Self
pub const fn from_predicate(predicate: u32) -> Self
pub const fn from_size(size: u32) -> Self
pub fn set_field<const K_FIELD_MASK: u32>(&mut self, value: u32)
pub const fn get_field<const K_FIELD_MASK: u32>(&self) -> u32
pub const fn is_valid(&self) -> bool
pub fn op_type(&self) -> OperandType
pub fn reg_type(&self) -> RegType
pub fn reg_group(&self) -> RegGroup
pub fn mem_base_type(&self) -> RegType
pub fn mem_index_type(&self) -> RegType
pub fn predicate(&self) -> u32
pub fn size(&self) -> u32
pub fn set_op_type(&mut self, op_type: OperandType)
pub fn set_reg_type(&mut self, reg_type: RegType)
pub fn set_reg_group(&mut self, reg_group: RegGroup)
pub fn set_mem_base_type(&mut self, base_type: RegType)
pub fn set_mem_index_type(&mut self, index_type: RegType)
pub fn set_predicate(&mut self, predicate: u32)
pub fn set_size(&mut self, size: u32)
Trait Implementations§
Source§impl BitAnd for OperandSignature
impl BitAnd for OperandSignature
Source§type Output = OperandSignature
type Output = OperandSignature
The resulting type after applying the
& operator.Source§fn bitand(self, rhs: OperandSignature) -> OperandSignature
fn bitand(self, rhs: OperandSignature) -> OperandSignature
Performs the
& operation. Read moreSource§impl BitOr for OperandSignature
impl BitOr for OperandSignature
Source§type Output = OperandSignature
type Output = OperandSignature
The resulting type after applying the
| operator.Source§fn bitor(self, rhs: OperandSignature) -> OperandSignature
fn bitor(self, rhs: OperandSignature) -> OperandSignature
Performs the
| operation. Read moreSource§impl BitXor for OperandSignature
impl BitXor for OperandSignature
Source§type Output = OperandSignature
type Output = OperandSignature
The resulting type after applying the
^ operator.Source§fn bitxor(self, rhs: OperandSignature) -> OperandSignature
fn bitxor(self, rhs: OperandSignature) -> OperandSignature
Performs the
^ operation. Read moreSource§impl Clone for OperandSignature
impl Clone for OperandSignature
Source§fn clone(&self) -> OperandSignature
fn clone(&self) -> OperandSignature
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl From<u32> for OperandSignature
impl From<u32> for OperandSignature
Source§impl Hash for OperandSignature
impl Hash for OperandSignature
Source§impl Ord for OperandSignature
impl Ord for OperandSignature
Source§fn cmp(&self, other: &OperandSignature) -> Ordering
fn cmp(&self, other: &OperandSignature) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for OperandSignature
impl PartialEq for OperandSignature
Source§impl PartialOrd for OperandSignature
impl PartialOrd for OperandSignature
impl Copy for OperandSignature
impl Eq for OperandSignature
impl StructuralPartialEq for OperandSignature
Auto Trait Implementations§
impl Freeze for OperandSignature
impl RefUnwindSafe for OperandSignature
impl Send for OperandSignature
impl Sync for OperandSignature
impl Unpin for OperandSignature
impl UnwindSafe for OperandSignature
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