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,
}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 InstructionFormatimpl Send for InstructionFormatimpl Sync for InstructionFormatimpl Unpin for InstructionFormatimpl UnwindSafe for InstructionFormatBlanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.