pub const MFHI_MFLO_HAZARD_INSTRUCTIONS: u32 = 2;Expand description
How many instructions after MFHI/MFLO must not write HI/LO.
A non-interlocked hazard: the hardware does not stall, it produces a wrong
result. From n64brew_wiki/markdown/MIPS III instructions.md § Hazards:
“The mfhi and mflo instructions will produce incorrect results if any of
the two following instructions modify the HI and LO registers.”
Modeling this as a stall would be wrong in both directions: it would add timing that hardware does not have, and it would hide the incorrect result that software can actually observe.