Enum cranelift_codegen::ir::instructions::InstructionFormat [−][src]
An instruction format
Every opcode has a corresponding instruction format
which is represented by both the InstructionFormat
and the InstructionData
enums.
Variants
AtomicCas(imms=(flags: ir::MemFlags), vals=3)
AtomicRmw(imms=(flags: ir::MemFlags, op: ir::AtomicRmwOp), vals=2)
Binary(imms=(), vals=2)
BinaryImm64(imms=(imm: ir::immediates::Imm64), vals=1)
BinaryImm8(imms=(imm: ir::immediates::Uimm8), vals=1)
Branch(imms=(destination: ir::Block), vals=1)
BranchFloat(imms=(cond: ir::condcodes::FloatCC, destination: ir::Block), vals=1)
BranchIcmp(imms=(cond: ir::condcodes::IntCC, destination: ir::Block), vals=2)
BranchInt(imms=(cond: ir::condcodes::IntCC, destination: ir::Block), vals=1)
BranchTable(imms=(destination: ir::Block, table: ir::JumpTable), vals=1)
BranchTableBase(imms=(table: ir::JumpTable), vals=0)
BranchTableEntry(imms=(imm: ir::immediates::Uimm8, table: ir::JumpTable), vals=2)
Call(imms=(func_ref: ir::FuncRef), vals=0)
CallIndirect(imms=(sig_ref: ir::SigRef), vals=1)
CondTrap(imms=(code: ir::TrapCode), vals=1)
CopySpecial(imms=(src: isa::RegUnit, dst: isa::RegUnit), vals=0)
CopyToSsa(imms=(src: isa::RegUnit), vals=0)
FloatCompare(imms=(cond: ir::condcodes::FloatCC), vals=2)
FloatCond(imms=(cond: ir::condcodes::FloatCC), vals=1)
FloatCondTrap(imms=(cond: ir::condcodes::FloatCC, code: ir::TrapCode), vals=1)
FuncAddr(imms=(func_ref: ir::FuncRef), vals=0)
HeapAddr(imms=(heap: ir::Heap, imm: ir::immediates::Uimm32), vals=1)
IndirectJump(imms=(table: ir::JumpTable), vals=1)
IntCompare(imms=(cond: ir::condcodes::IntCC), vals=2)
IntCompareImm(imms=(cond: ir::condcodes::IntCC, imm: ir::immediates::Imm64), vals=1)
IntCond(imms=(cond: ir::condcodes::IntCC), vals=1)
IntCondTrap(imms=(cond: ir::condcodes::IntCC, code: ir::TrapCode), vals=1)
IntSelect(imms=(cond: ir::condcodes::IntCC), vals=3)
Jump(imms=(destination: ir::Block), vals=0)
Load(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=1)
LoadComplex(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=0)
LoadNoOffset(imms=(flags: ir::MemFlags), vals=1)
MultiAry(imms=(), vals=0)
NullAry(imms=(), vals=0)
RegFill(imms=(src: ir::StackSlot, dst: isa::RegUnit), vals=1)
RegMove(imms=(src: isa::RegUnit, dst: isa::RegUnit), vals=1)
RegSpill(imms=(src: isa::RegUnit, dst: ir::StackSlot), vals=1)
Shuffle(imms=(mask: ir::Immediate), vals=2)
StackLoad(imms=(stack_slot: ir::StackSlot, offset: ir::immediates::Offset32), vals=0)
StackStore(imms=(stack_slot: ir::StackSlot, offset: ir::immediates::Offset32), vals=1)
Store(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=2)
StoreComplex(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=1)
StoreNoOffset(imms=(flags: ir::MemFlags), vals=2)
TableAddr(imms=(table: ir::Table, offset: ir::immediates::Offset32), vals=1)
Ternary(imms=(), vals=3)
TernaryImm8(imms=(imm: ir::immediates::Uimm8), vals=2)
Trap(imms=(code: ir::TrapCode), vals=0)
Unary(imms=(), vals=1)
UnaryBool(imms=(imm: bool), vals=0)
UnaryConst(imms=(constant_handle: ir::Constant), vals=0)
UnaryGlobalValue(imms=(global_value: ir::GlobalValue), vals=0)
UnaryIeee32(imms=(imm: ir::immediates::Ieee32), vals=0)
UnaryIeee64(imms=(imm: ir::immediates::Ieee64), vals=0)
UnaryImm(imms=(imm: ir::immediates::Imm64), vals=0)
Trait Implementations
impl Clone for InstructionFormat
[src]
fn clone(&self) -> InstructionFormat
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for InstructionFormat
[src]
impl Debug for InstructionFormat
[src]
impl Eq for InstructionFormat
[src]
impl<'a> From<&'a InstructionData> for InstructionFormat
[src]
fn from(inst: &'a InstructionData) -> Self
[src]
impl PartialEq<InstructionFormat> for InstructionFormat
[src]
fn eq(&self, other: &InstructionFormat) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for InstructionFormat
[src]
impl StructuralPartialEq for InstructionFormat
[src]
Auto Trait Implementations
impl RefUnwindSafe for InstructionFormat
impl Send for InstructionFormat
impl Sync for InstructionFormat
impl Unpin for InstructionFormat
impl UnwindSafe for InstructionFormat
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,