pub enum RType {
Show 23 variants
Add(DataSize),
Sub(DataSize),
Sll(DataSize),
Srl(DataSize),
Sra(DataSize),
Mul(DataSize),
Div {
data_size: DataSize,
is_signed: bool,
},
Rem {
data_size: DataSize,
is_signed: bool,
},
Slt {
is_signed: bool,
},
Xor,
Or,
And,
Fadd(DataSize),
Fsub(DataSize),
Fmul(DataSize),
Fdiv(DataSize),
Feq(DataSize),
Flt(DataSize),
FmvIntToFloat {
float_data_size: DataSize,
},
FmvFloatToInt {
float_data_size: DataSize,
},
FcvtIntToFloat {
int_data_size: DataSize,
float_data_size: DataSize,
is_signed: bool,
},
FcvtFloatToInt {
float_data_size: DataSize,
int_data_size: DataSize,
is_signed: bool,
},
FcvtFloatToFloat {
from: DataSize,
to: DataSize,
},
}
Expand description
If the enum variant contains is_signed : bool
, it corresponds to different instructions
depending on whether the operand is signed or not.
Variants§
Add(DataSize)
Sub(DataSize)
Sll(DataSize)
Srl(DataSize)
Sra(DataSize)
Mul(DataSize)
Div
Rem
Slt
Xor
Or
And
Fadd(DataSize)
Fsub(DataSize)
Fmul(DataSize)
Fdiv(DataSize)
Feq(DataSize)
Flt(DataSize)
FmvIntToFloat
fmv.w.x or fmv.d.x
FmvFloatToInt
fmv.x.w or fmv.x.w
FcvtIntToFloat
fcvt.s.l(u) or fcvt.d.l(u) fcvt.s.w(u) or fcvt.d.w(u)
FcvtFloatToInt
fcvt.l(u).s or fcvt.l(u).d fcvt.w(u).s or fcvt.w(u).d
FcvtFloatToFloat
fcvt.s.d or fcvt.d.s
Implementations§
Source§impl RType
impl RType
pub fn add(dtype: Dtype) -> Self
pub fn sub(dtype: Dtype) -> Self
pub fn sll(dtype: Dtype) -> Self
pub fn srl(dtype: Dtype) -> Self
pub fn sra(dtype: Dtype) -> Self
pub fn mul(dtype: Dtype) -> Self
pub fn div(dtype: Dtype, is_signed: bool) -> Self
pub fn rem(dtype: Dtype, is_signed: bool) -> Self
pub fn fadd(dtype: Dtype) -> Self
pub fn fsub(dtype: Dtype) -> Self
pub fn fmul(dtype: Dtype) -> Self
pub fn fdiv(dtype: Dtype) -> Self
pub fn feq(dtype: Dtype) -> Self
pub fn flt(dtype: Dtype) -> Self
pub fn fmv_int_to_float(dtype: Dtype) -> Self
pub fn fmv_float_to_int(dtype: Dtype) -> Self
pub fn fcvt_int_to_float(from: Dtype, to: Dtype) -> Self
pub fn fcvt_float_to_int(from: Dtype, to: Dtype) -> Self
Trait Implementations§
impl Copy for RType
impl Eq for RType
impl StructuralPartialEq for RType
Auto Trait Implementations§
impl Freeze for RType
impl RefUnwindSafe for RType
impl Send for RType
impl Sync for RType
impl Unpin for RType
impl UnwindSafe for RType
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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