[−][src]Enum cranelift_codegen::ir::instructions::InstructionFormat
An instruction format
Every opcode has a corresponding instruction format
which is represented by both the InstructionFormat
and the InstructionData enums.
Variants
UnaryUnary(imms=(), vals=1)
UnaryImmUnaryImm(imms=(imm: imm64), vals=0)
UnaryIeee32UnaryIeee32(imms=(imm: ieee32), vals=0)
UnaryIeee64UnaryIeee64(imms=(imm: ieee64), vals=0)
UnaryBoolUnaryBool(imms=(imm: boolean), vals=0)
UnaryGlobalValueUnaryGlobalValue(imms=(global_value: global_value), vals=0)
BinaryBinary(imms=(), vals=2)
BinaryImmBinaryImm(imms=(imm: imm64), vals=1)
TernaryTernary(imms=(), vals=3)
MultiAryMultiAry(imms=(), vals=0)
NullAryNullAry(imms=(), vals=0)
InsertLaneInsertLane(imms=(lane: uimm8), vals=2)
ExtractLaneExtractLane(imms=(lane: uimm8), vals=1)
IntCompareIntCompare(imms=(cond: intcc), vals=2)
IntCompareImmIntCompareImm(imms=(cond: intcc, imm: imm64), vals=1)
IntCondIntCond(imms=(cond: intcc), vals=1)
FloatCompareFloatCompare(imms=(cond: floatcc), vals=2)
FloatCondFloatCond(imms=(cond: floatcc), vals=1)
IntSelectIntSelect(imms=(cond: intcc), vals=3)
JumpJump(imms=(destination: ebb), vals=0)
BranchBranch(imms=(destination: ebb), vals=1)
BranchIntBranchInt(imms=(cond: intcc, destination: ebb), vals=1)
BranchFloatBranchFloat(imms=(cond: floatcc, destination: ebb), vals=1)
BranchIcmpBranchIcmp(imms=(cond: intcc, destination: ebb), vals=2)
BranchTableBranchTable(imms=(destination: ebb, table: jump_table), vals=1)
BranchTableEntryBranchTableEntry(imms=(imm: uimm8, table: jump_table), vals=2)
BranchTableBaseBranchTableBase(imms=(table: jump_table), vals=0)
IndirectJumpIndirectJump(imms=(table: jump_table), vals=1)
CallCall(imms=(func_ref: func_ref), vals=0)
CallIndirectCallIndirect(imms=(sig_ref: sig_ref), vals=1)
FuncAddrFuncAddr(imms=(func_ref: func_ref), vals=0)
LoadLoad(imms=(flags: memflags, offset: offset32), vals=1)
LoadComplexLoadComplex(imms=(flags: memflags, offset: offset32), vals=0)
StoreStore(imms=(flags: memflags, offset: offset32), vals=2)
StoreComplexStoreComplex(imms=(flags: memflags, offset: offset32), vals=1)
StackLoadStackLoad(imms=(stack_slot: stack_slot, offset: offset32), vals=0)
StackStoreStackStore(imms=(stack_slot: stack_slot, offset: offset32), vals=1)
HeapAddrHeapAddr(imms=(heap: heap, imm: uimm32), vals=1)
TableAddrTableAddr(imms=(table: table, offset: offset32), vals=1)
RegMoveRegMove(imms=(src: regunit, dst: regunit), vals=1)
CopySpecialCopySpecial(imms=(src: regunit, dst: regunit), vals=0)
RegSpillRegSpill(imms=(src: regunit, dst: stack_slot), vals=1)
RegFillRegFill(imms=(src: stack_slot, dst: regunit), vals=1)
TrapTrap(imms=(code: trapcode), vals=0)
CondTrapCondTrap(imms=(code: trapcode), vals=1)
IntCondTrapIntCondTrap(imms=(cond: intcc, code: trapcode), vals=1)
FloatCondTrapFloatCondTrap(imms=(cond: floatcc, code: trapcode), vals=1)
Trait Implementations
impl PartialEq<InstructionFormat> for InstructionFormat[src]
fn eq(&self, other: &InstructionFormat) -> bool[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl Eq for InstructionFormat[src]
impl Debug for InstructionFormat[src]
impl<'a> From<&'a InstructionData> for InstructionFormat[src]
fn from(inst: &'a InstructionData) -> Self[src]
impl Copy for InstructionFormat[src]
impl Clone for InstructionFormat[src]
fn clone(&self) -> InstructionFormat[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl Unpin for InstructionFormat
impl Send for InstructionFormat
impl Sync for InstructionFormat
impl RefUnwindSafe for InstructionFormat
impl UnwindSafe for InstructionFormat
Blanket Implementations
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.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,