pub enum IrInst {
Show 31 variants
ConstBool(Reg, bool),
ConstI64(Reg, i64),
ConstF64(Reg, f64),
LoadI64(Reg, u32),
LoadF64(Reg, u32),
LoadBool(Reg, u32),
EqI64(Reg, Reg, Reg),
NeI64(Reg, Reg, Reg),
LtI64(Reg, Reg, Reg),
LeI64(Reg, Reg, Reg),
GtI64(Reg, Reg, Reg),
GeI64(Reg, Reg, Reg),
EqF64(Reg, Reg, Reg),
NeF64(Reg, Reg, Reg),
LtF64(Reg, Reg, Reg),
LeF64(Reg, Reg, Reg),
GtF64(Reg, Reg, Reg),
GeF64(Reg, Reg, Reg),
And(Reg, Reg, Reg),
Or(Reg, Reg, Reg),
Not(Reg, Reg),
AddI64(Reg, Reg, Reg),
SubI64(Reg, Reg, Reg),
MulI64(Reg, Reg, Reg),
AddF64(Reg, Reg, Reg),
SubF64(Reg, Reg, Reg),
MulF64(Reg, Reg, Reg),
DivF64(Reg, Reg, Reg),
I64ToF64(Reg, Reg),
F64ToI64(Reg, Reg),
Ret(Reg),
}Expand description
IR instruction.
Variants§
ConstBool(Reg, bool)
ConstI64(Reg, i64)
ConstF64(Reg, f64)
LoadI64(Reg, u32)
LoadF64(Reg, u32)
LoadBool(Reg, u32)
EqI64(Reg, Reg, Reg)
NeI64(Reg, Reg, Reg)
LtI64(Reg, Reg, Reg)
LeI64(Reg, Reg, Reg)
GtI64(Reg, Reg, Reg)
GeI64(Reg, Reg, Reg)
EqF64(Reg, Reg, Reg)
NeF64(Reg, Reg, Reg)
LtF64(Reg, Reg, Reg)
LeF64(Reg, Reg, Reg)
GtF64(Reg, Reg, Reg)
GeF64(Reg, Reg, Reg)
And(Reg, Reg, Reg)
Or(Reg, Reg, Reg)
Not(Reg, Reg)
AddI64(Reg, Reg, Reg)
SubI64(Reg, Reg, Reg)
MulI64(Reg, Reg, Reg)
AddF64(Reg, Reg, Reg)
SubF64(Reg, Reg, Reg)
MulF64(Reg, Reg, Reg)
DivF64(Reg, Reg, Reg)
I64ToF64(Reg, Reg)
F64ToI64(Reg, Reg)
Ret(Reg)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IrInst
impl RefUnwindSafe for IrInst
impl Send for IrInst
impl Sync for IrInst
impl Unpin for IrInst
impl UnsafeUnpin for IrInst
impl UnwindSafe for IrInst
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more