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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OpCode

Source§

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

Formats the value using the given formatter. Read more
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 · 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 Copy for OpCode

Source§

impl Eq for OpCode

Source§

impl StructuralPartialEq for OpCode

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> 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.