Skip to main content

Bump

Struct Bump 

Source
pub struct Bump {
    pub from: &'static str,
    pub into: &'static str,
    pub load: &'static str,
    pub store: &'static str,
}
Expand description

One arithmetic instruction against a constant that could work on memory, and the load and the store that would be the rest of the run.

Update with the register source replaced by an immediate, and a field shorter for it. There is no commutes, because there is nothing to swap: the constant is on the instruction and cannot be anywhere else, so the memory is always the left source and every row reads the same way. Subtraction is in the table without a note attached for the same reason. subl $1, (%rax) takes one away from the place, which is the run this matches and the only one it could be.

Fields§

§from: &'static str

The arithmetic as the selector wrote it, on a register and a constant.

§into: &'static str

The same arithmetic reading memory and leaving its answer there.

§load: &'static str

The load that put the memory’s word in a register.

§store: &'static str

The store that put the answer back.

Trait Implementations§

Source§

impl Clone for Bump

Source§

fn clone(&self) -> Bump

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 Bump

Source§

impl Debug for Bump

Source§

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

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

impl Eq for Bump

Source§

impl PartialEq for Bump

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Bump

Auto Trait Implementations§

§

impl Freeze for Bump

§

impl RefUnwindSafe for Bump

§

impl Send for Bump

§

impl Sync for Bump

§

impl Unpin for Bump

§

impl UnsafeUnpin for Bump

§

impl UnwindSafe for Bump

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.