Struct RexFlags
pub struct RexFlags(/* private fields */);
Expand description
A small bit field to record a REX prefix specification:
- bit 0 set to 1 indicates REX.W must be 0 (cleared).
- bit 1 set to 1 indicates the REX prefix must always be emitted.
Implementations§
§impl RexFlags
impl RexFlags
pub fn must_clear_w(&self) -> bool
pub fn must_clear_w(&self) -> bool
True if 64-bit operands are used.
pub fn always_emit(&mut self) -> &mut RexFlags
pub fn always_emit(&mut self) -> &mut RexFlags
Require that the REX prefix is emitted.
pub fn must_always_emit(&self) -> bool
pub fn must_always_emit(&self) -> bool
True if the REX prefix must always be emitted.
pub fn always_emit_if_8bit_needed(&mut self, reg: Reg) -> &mut RexFlags
pub fn always_emit_if_8bit_needed(&mut self, reg: Reg) -> &mut RexFlags
Emit the rex prefix if the referenced register would require it for 8-bit operations.
pub fn emit_one_op<BS>(&self, sink: &mut BS, enc_e: u8)
pub fn emit_one_op<BS>(&self, sink: &mut BS, enc_e: u8)
Emit a unary instruction.
pub fn emit_two_op<BS>(&self, sink: &mut BS, enc_g: u8, enc_e: u8)
pub fn emit_two_op<BS>(&self, sink: &mut BS, enc_g: u8, enc_e: u8)
Emit a binary instruction.
Trait Implementations§
§impl From<(OperandSize, Reg)> for RexFlags
impl From<(OperandSize, Reg)> for RexFlags
Generate Rex flags for an OperandSize/register tuple.
§fn from(_: (OperandSize, Reg)) -> RexFlags
fn from(_: (OperandSize, Reg)) -> RexFlags
Converts to this type from the input type.
§impl From<OperandSize> for RexFlags
impl From<OperandSize> for RexFlags
Generate the proper Rex flags for the given operand size.
§fn from(size: OperandSize) -> RexFlags
fn from(size: OperandSize) -> RexFlags
Converts to this type from the input type.
impl Copy for RexFlags
Auto Trait Implementations§
impl Freeze for RexFlags
impl RefUnwindSafe for RexFlags
impl Send for RexFlags
impl Sync for RexFlags
impl Unpin for RexFlags
impl UnwindSafe for RexFlags
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)