Enum cranelift_codegen::ir::instructions::InstructionFormat [−][src]
pub enum InstructionFormat {}Show variants
AtomicCas, AtomicRmw, Binary, BinaryImm64, BinaryImm8, Branch, BranchFloat, BranchIcmp, BranchInt, BranchTable, BranchTableBase, BranchTableEntry, Call, CallIndirect, CondTrap, CopySpecial, CopyToSsa, FloatCompare, FloatCond, FloatCondTrap, FuncAddr, HeapAddr, IndirectJump, IntCompare, IntCompareImm, IntCond, IntCondTrap, IntSelect, Jump, Load, LoadComplex, LoadNoOffset, MultiAry, NullAry, RegFill, RegMove, RegSpill, Shuffle, StackLoad, StackStore, Store, StoreComplex, StoreNoOffset, TableAddr, Ternary, TernaryImm8, Trap, Unary, UnaryBool, UnaryConst, UnaryGlobalValue, UnaryIeee32, UnaryIeee64, UnaryImm,
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]
impl Clone for InstructionFormat
[src]fn clone(&self) -> InstructionFormat
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a> From<&'a InstructionData> for InstructionFormat
[src]
impl<'a> From<&'a InstructionData> for InstructionFormat
[src]fn from(inst: &'a InstructionData) -> Self
[src]
impl PartialEq<InstructionFormat> for InstructionFormat
[src]
impl PartialEq<InstructionFormat> for InstructionFormat
[src]