Skip to main content

OpCode

Struct OpCode 

Source
#[repr(transparent)]
pub struct OpCode { pub repr: i32, }

Fields§

§repr: i32

Implementations§

Source§

impl OpCode

Source

pub const CPUI_COPY: Self

Copy one operand to another

Source

pub const CPUI_LOAD: Self

Load from a pointer into a specified address space

Source

pub const CPUI_STORE: Self

Store at a pointer into a specified address space

Source

pub const CPUI_BRANCH: Self

Always branch

Source

pub const CPUI_CBRANCH: Self

Conditional branch

Source

pub const CPUI_BRANCHIND: Self

Indirect branch (jumptable)

Source

pub const CPUI_CALL: Self

Call to an absolute address

Source

pub const CPUI_CALLIND: Self

Call through an indirect address

Source

pub const CPUI_CALLOTHER: Self

User-defined operation

Source

pub const CPUI_RETURN: Self

Return from subroutine

Source

pub const CPUI_INT_EQUAL: Self

Integer comparison, equality (==)

Source

pub const CPUI_INT_NOTEQUAL: Self

Integer comparison, in-equality (!=)

Source

pub const CPUI_INT_SLESS: Self

Integer comparison, signed less-than (<)

Source

pub const CPUI_INT_SLESSEQUAL: Self

Integer comparison, signed less-than-or-equal (<=)

Source

pub const CPUI_INT_LESS: Self

Integer comparison, unsigned less-than (<) This also indicates a borrow on unsigned substraction

Source

pub const CPUI_INT_LESSEQUAL: Self

Integer comparison, unsigned less-than-or-equal (<=)

Source

pub const CPUI_INT_ZEXT: Self

Zero extension

Source

pub const CPUI_INT_SEXT: Self

Sign extension

Source

pub const CPUI_INT_ADD: Self

Addition, signed or unsigned (+)

Source

pub const CPUI_INT_SUB: Self

Subtraction, signed or unsigned (-)

Source

pub const CPUI_INT_CARRY: Self

Test for unsigned carry

Source

pub const CPUI_INT_SCARRY: Self

Test for signed carry

Source

pub const CPUI_INT_SBORROW: Self

Test for signed borrow

Source

pub const CPUI_INT_2COMP: Self

Twos complement

Source

pub const CPUI_INT_NEGATE: Self

Logical/bitwise negation (~)

Source

pub const CPUI_INT_XOR: Self

Logical/bitwise exclusive-or (^)

Source

pub const CPUI_INT_AND: Self

Logical/bitwise and (&)

Source

pub const CPUI_INT_OR: Self

Logical/bitwise or (|)

Source

pub const CPUI_INT_LEFT: Self

Left shift (<<)

Source

pub const CPUI_INT_RIGHT: Self

Right shift, logical (>>)

Source

pub const CPUI_INT_SRIGHT: Self

Right shift, arithmetic (>>)

Source

pub const CPUI_INT_MULT: Self

Integer multiplication, signed and unsigned (*)

Source

pub const CPUI_INT_DIV: Self

Integer division, unsigned (/)

Source

pub const CPUI_INT_SDIV: Self

Integer division, signed (/)

Source

pub const CPUI_INT_REM: Self

Remainder/modulo, unsigned (%)

Source

pub const CPUI_INT_SREM: Self

Remainder/modulo, signed (%)

Source

pub const CPUI_BOOL_NEGATE: Self

Boolean negate (!)

Source

pub const CPUI_BOOL_XOR: Self

Boolean exclusive-or (^^)

Source

pub const CPUI_BOOL_AND: Self

Boolean and (&&)

Source

pub const CPUI_BOOL_OR: Self

Boolean or (||)

Source

pub const CPUI_FLOAT_EQUAL: Self

Floating-point comparison, equality (==)

Source

pub const CPUI_FLOAT_NOTEQUAL: Self

Floating-point comparison, in-equality (!=)

Source

pub const CPUI_FLOAT_LESS: Self

Floating-point comparison, less-than (<)

Source

pub const CPUI_FLOAT_LESSEQUAL: Self

Floating-point comparison, less-than-or-equal (<=)

Source

pub const CPUI_FLOAT_NAN: Self

Not-a-number test (NaN)

Source

pub const CPUI_FLOAT_ADD: Self

Floating-point addition (+)

Source

pub const CPUI_FLOAT_DIV: Self

Floating-point division (/)

Source

pub const CPUI_FLOAT_MULT: Self

Floating-point multiplication (*)

Source

pub const CPUI_FLOAT_SUB: Self

Floating-point subtraction (-)

Source

pub const CPUI_FLOAT_NEG: Self

Floating-point negation (-)

Source

pub const CPUI_FLOAT_ABS: Self

Floating-point absolute value (abs)

Source

pub const CPUI_FLOAT_SQRT: Self

Floating-point square root (sqrt)

Source

pub const CPUI_FLOAT_INT2FLOAT: Self

Convert an integer to a floating-point

Source

pub const CPUI_FLOAT_FLOAT2FLOAT: Self

Convert between different floating-point sizes

Source

pub const CPUI_FLOAT_TRUNC: Self

Round towards zero

Source

pub const CPUI_FLOAT_CEIL: Self

Round towards +infinity

Source

pub const CPUI_FLOAT_FLOOR: Self

Round towards -infinity

Source

pub const CPUI_FLOAT_ROUND: Self

Round towards nearest

Source

pub const CPUI_MULTIEQUAL: Self

Phi-node operator

Source

pub const CPUI_INDIRECT: Self

Copy with an indirect effect

Source

pub const CPUI_PIECE: Self

Concatenate

Source

pub const CPUI_SUBPIECE: Self

Truncate

Source

pub const CPUI_CAST: Self

Cast from one data-type to another

Source

pub const CPUI_PTRADD: Self

Index into an array ([])

Source

pub const CPUI_PTRSUB: Self

Drill down to a sub-field (->)

Source

pub const CPUI_SEGMENTOP: Self

Look-up a \e segmented address

Source

pub const CPUI_CPOOLREF: Self

Recover a value from the \e constant \e pool

Source

pub const CPUI_NEW: Self

Allocate a new object (new)

Source

pub const CPUI_INSERT: Self

Insert a bit-range

Source

pub const CPUI_EXTRACT: Self

Extract a bit-range

Source

pub const CPUI_POPCOUNT: Self

Count the 1-bits

Source

pub const CPUI_LZCOUNT: Self

Count the leading 0-bits

Source

pub const CPUI_MAX: Self

Value indicating the end of the op-code values

Trait Implementations§

Source§

impl Clone for OpCode

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for OpCode

Source§

impl Debug for OpCode

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for OpCode

Source§

impl ExternType for OpCode

Source§

type Kind = Trivial

Source§

type Id

A type-level representation of the type’s C++ namespace and type name. Read more
Source§

impl PartialEq for OpCode

Source§

fn eq(&self, other: &OpCode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for OpCode

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.