pub enum Opcode {
Show 57 variants
Add {
ty: Type,
saturate: bool,
rnd: bool,
ftz: bool,
},
Sub {
ty: Type,
ftz: bool,
},
Clz(Type),
Not(Type),
Vote(Type),
PopC(Type),
Exit,
Call(CallInst),
CallPrototype {},
Abs {
ty: Type,
ftz: bool,
},
Ex2 {
ty: Type,
ftz: bool,
},
Rem(Type),
Fma {
rounding: Option<FloatRoundingMode>,
ty: Type,
ftz: bool,
},
Mad {
mode: Option<MulMode>,
rounding: Option<FloatRoundingMode>,
ty: Type,
ftz: bool,
sat: bool,
},
Rcp {
ty: Type,
ftz: bool,
approx: bool,
rounding: Option<FloatRoundingMode>,
},
Sqrt {
ty: Type,
ftz: bool,
approx: bool,
rounding: Option<FloatRoundingMode>,
},
RSqrt {
ty: Type,
ftz: bool,
approx: bool,
rounding: Option<FloatRoundingMode>,
},
Sin {
ty: Type,
approx: bool,
ftz: bool,
},
Cos {
ty: Type,
approx: bool,
ftz: bool,
},
Neg {
ty: Type,
ftz: bool,
},
Max(Type),
Min(Type),
Shfl(Type),
Bar {
thread: u32,
sync: bool,
},
Cvt {
from: Type,
to: Type,
rounding: Option<Either<FloatRoundingMode, IntegerRoundingMode>>,
saturate: bool,
},
Cvta {
to: bool,
state_space: StateSpace,
size: Type,
},
Cp,
Ret,
Mov(Type),
Lg2 {
ty: Type,
ftz: bool,
},
Mul {
ty: Type,
mode: Option<MulMode>,
rounding: Option<FloatRoundingMode>,
ftz: bool,
saturate: bool,
},
Mul24 {
ty: Type,
mode: Option<MulMode>,
},
Div {
approx: bool,
full: bool,
rounding: Option<FloatRoundingMode>,
ty: Type,
ftz: bool,
},
Shl(Type),
Shr(Type),
Shf {
direction: ShfDirection,
mode: ShfMode,
},
SetpLt,
SetpGt,
SetpEq,
Ld(Type),
Ldu(Type),
Tex(Type, Type),
Slct {
ftz: bool,
dtype: Type,
stype: Type,
},
Atom(Type),
LdMatrix {
shape: Shape2,
ty: Type,
xnum: u32,
shared: bool,
},
Mma {
shape: Shape3,
atype: Type,
btype: Type,
ctype: Type,
dtype: Type,
},
St(Type),
And(Type),
Or(Type),
XOr(Type),
Set {
cmp_op: PredicateOp,
ftz: bool,
dtype: Type,
stype: Type,
},
Setp(PredicateOp, Type),
Selp(Type),
Bfe(Type),
Bra,
Membar,
IsSpaceP(StateSpace),
}Variants§
Add
Sub
Clz(Type)
Count leading zeros
Not(Type)
Vote(Type)
Vote across thread group, Deprecated
PopC(Type)
Population count.
Exit
Call(CallInst)
CallPrototype
Abs
Ex2
Rem(Type)
Fma
Mad
Rcp
Sqrt
RSqrt
Sin
Cos
Neg
Max(Type)
Min(Type)
Shfl(Type)
Bar
Cvt
Fields
§
rounding: Option<Either<FloatRoundingMode, IntegerRoundingMode>>Cvta
Cp
Ret
Mov(Type)
Lg2
Mul
Mul24
Div
Shl(Type)
Shr(Type)
Shf
SetpLt
SetpGt
SetpEq
Ld(Type)
Ldu(Type)
Tex(Type, Type)
Slct
Select one source operand, based on the sign of the third operand.
Atom(Type)
Atomic reduction operations for thread-to-thread communication.
LdMatrix
Mma
St(Type)
And(Type)
Or(Type)
XOr(Type)
Set
Setp(PredicateOp, Type)
Selp(Type)
Bfe(Type)
Bra
Membar
IsSpaceP(StateSpace)
Query whether a generic address falls within a specified state space window
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Opcode
impl RefUnwindSafe for Opcode
impl Send for Opcode
impl Sync for Opcode
impl Unpin for Opcode
impl UnwindSafe for Opcode
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> 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