pub struct Compare {
pub name: &'static str,
pub asks: &'static str,
pub kept: Option<&'static str>,
}Expand description
One comparison, and what is left of it when the machine has already made it.
Fields§
§name: &'static strThe opcode.
asks: &'static strWhat it asks, which is the same string for every condition at one width.
Two instructions have made the same comparison when this agrees and the registers and constants they read agree. The condition on the front of each of them is not part of it: the machine is asked the question once and the two conditions read two answers to it, which is exactly the case the pass is here for.
kept: Option<&'static str>What is left of it when the answer is already in the condition state.
None is nothing at all, which is the entry for a comparison that keeps no answer,
because the instruction behind it is reading the condition state and the condition state is
already right. Anything else is an opcode that writes the same answer to the same register
and makes no comparison, which is what a comparison that keeps a byte becomes.