Skip to main content

Reads

Enum Reads 

Source
pub enum Reads {
    Zero,
    Signed,
    Unsigned,
    Carry,
}
Expand description

Which part of what a comparison against zero left a condition is about.

Variants§

§

Zero

Whether the value was zero, and nothing else.

§

Signed

Where the value sits against zero as a signed number, which is the sign and the overflow.

§

Unsigned

Where it sits as an unsigned number, which is the carry, alone or with the zero.

§

Carry

The carry as the instruction in front left it, which no comparison is a substitute for.

The other three are parts of the answer to a question, so an instruction that has already asked that question can stand in for the one that would have asked it again. An add with carry is not reading an answer. It is reading the bit that fell off the end of the addition in front of it, and the only thing that leaves that bit is that addition, so nothing this pass could put there instead is the same. Zeroing::covers says no to it for every entry there is and will go on saying no to every entry added later, which is what keeps a comparison in front of one of these where the program put it.

Trait Implementations§

Source§

impl Clone for Reads

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 Reads

Source§

impl Debug for Reads

Source§

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

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

impl Eq for Reads

Source§

impl PartialEq for Reads

Source§

fn eq(&self, other: &Self) -> 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 Reads

Auto Trait Implementations§

§

impl Freeze for Reads

§

impl RefUnwindSafe for Reads

§

impl Send for Reads

§

impl Sync for Reads

§

impl Unpin for Reads

§

impl UnsafeUnpin for Reads

§

impl UnwindSafe for Reads

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.