Expand description
The model attempts to document what the HashX constraints are, separate
from the process of implementing those constraints.
EnumsΒ§
- Pass π
- One specific pass in the multi-pass instruction choice process
- Register
Writer π - Information about the instruction that writes to a register, from the perspective of our particular constraints here
ConstantsΒ§
- DISALLOW_
REGISTER_ πFOR_ ADDSHIFT - Special case for register R5
- REQUIRED_
INSTRUCTIONS π - Programs require an exact number of instructions. (The instruction buffer must have filled without any of the other stopping conditions)
- REQUIRED_
MULTIPLIES π - Programs require an exact total number of multiply instructions, they canβt be skipped for any reason.
- REQUIRED_
OVERALL_ πRESULT_ AT_ CYCLE - Programs require an exact overall data latency, represented as the simulated cycle at which the last register write completes.
FunctionsΒ§
- disallow_
opcode_ πpair - Should
proposedbe rejected as the immediate successor ofprevious? - disallow_
src_ πis_ dst - Does an instruction prohibit using the same register for src and dst?
- is_
multiply π - Determine which ops count when testing
REQUIRED_MULTIPLIES. - writer_
pair_ πallowed - Should
this_writerbe allowed on a register which was previously written usinglast_writer?