enum OpcodeSelector {
Normal,
ImmediateSrc,
Mul,
WideMul,
Target,
Branch,
}
Expand description
HashX uses a limited number of different instruction selection strategies, chosen based on the sub-cycle timing of our position in the instruction stream.
Variants§
Normal
Main ALU instruction chooser, picks from Add/Sub/Xor/Rotate
ImmediateSrc
Retry pass if Normal fails, instructions with immediate source only
Mul
Only multiply instructions, no additional register selection work.
WideMul
Wide multiply instructions, randomly choosing signedness
Target
Only branch targets
Branch
Only branch instructions
Implementations§
Trait Implementations§
Source§impl Clone for OpcodeSelector
impl Clone for OpcodeSelector
Source§fn clone(&self) -> OpcodeSelector
fn clone(&self) -> OpcodeSelector
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for OpcodeSelector
impl Debug for OpcodeSelector
Source§impl PartialEq for OpcodeSelector
impl PartialEq for OpcodeSelector
impl Copy for OpcodeSelector
impl Eq for OpcodeSelector
impl StructuralPartialEq for OpcodeSelector
Auto Trait Implementations§
impl Freeze for OpcodeSelector
impl RefUnwindSafe for OpcodeSelector
impl Send for OpcodeSelector
impl Sync for OpcodeSelector
impl Unpin for OpcodeSelector
impl UnwindSafe for OpcodeSelector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more