Opcode

Enum Opcode 

Source
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

Fields

§ty: Type
§saturate: bool
§rnd: bool
§ftz: bool
§

Sub

Fields

§ty: Type
§ftz: bool
§

Clz(Type)

Count leading zeros

§

Not(Type)

§

Vote(Type)

Vote across thread group, Deprecated

§

PopC(Type)

Population count.

§

Exit

§

Call(CallInst)

§

CallPrototype

§

Abs

Fields

§ty: Type
§ftz: bool
§

Ex2

Fields

§ty: Type
§ftz: bool

flush-to-zero

§

Rem(Type)

§

Fma

Fields

§ty: Type
§ftz: bool
§

Mad

Fields

§ty: Type
§ftz: bool
§sat: bool
§

Rcp

Fields

§ty: Type
§ftz: bool
§approx: bool
§

Sqrt

Fields

§ty: Type
§ftz: bool
§approx: bool
§

RSqrt

Fields

§ty: Type
§ftz: bool
§approx: bool
§

Sin

Fields

§ty: Type
§approx: bool
§ftz: bool
§

Cos

Fields

§ty: Type
§approx: bool
§ftz: bool
§

Neg

Fields

§ty: Type
§ftz: bool
§

Max(Type)

§

Min(Type)

§

Shfl(Type)

§

Bar

Fields

§thread: u32
§sync: bool
§

Cvt

§

Cvta

Fields

§to: bool
§state_space: StateSpace
§size: Type
§

Cp

§

Ret

§

Mov(Type)

§

Lg2

Fields

§ty: Type
§ftz: bool
§

Mul

Fields

§ty: Type
§ftz: bool
§saturate: bool
§

Mul24

Fields

§ty: Type
§

Div

Fields

§approx: bool
§full: bool
§ty: Type
§ftz: bool
§

Shl(Type)

§

Shr(Type)

§

Shf

Fields

§direction: ShfDirection
§mode: ShfMode
§

SetpLt

§

SetpGt

§

SetpEq

§

Ld(Type)

§

Ldu(Type)

§

Tex(Type, Type)

§

Slct

Select one source operand, based on the sign of the third operand.

Fields

§ftz: bool
§dtype: Type
§stype: Type
§

Atom(Type)

Atomic reduction operations for thread-to-thread communication.

§

LdMatrix

Fields

§shape: Shape2
§ty: Type
§xnum: u32
§shared: bool
§

Mma

Fields

§shape: Shape3
§atype: Type
§btype: Type
§ctype: Type
§dtype: Type
§

St(Type)

§

And(Type)

§

Or(Type)

§

XOr(Type)

§

Set

Fields

§ftz: bool
§dtype: Type
§stype: Type
§

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§

Source§

impl Debug for Opcode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.