Enum cranelift_codegen::ir::instructions::InstructionFormat [−][src]
pub enum InstructionFormat {}Show 54 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,
Expand description
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
Performs the conversion.
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
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.