pub struct Copied {
pub name: &'static str,
pub into: &'static str,
}Expand description
One address computation, and the move that says the same thing when the address is a register.
The two are the same instruction only for an addressing mode that names a base and nothing else: no index, no constant added, no symbol and no label, since each of those is arithmetic the move does not do. That is a question about the instruction in hand rather than about its name, so the entry names the pair and the pass asks the mode.
Neither of them writes the condition state, which is what keeps this rewrite out of the walk that the exclusive or and the increment wait on. It saves a byte where the base is one of the registers an addressing mode cannot name on its own, and it saves the machine an addition everywhere, since a move between registers is a rename rather than work.
Fields§
§name: &'static strThe opcode that takes the addressing mode.
into: &'static strThe opcode that moves one register into another, which writes the register the first one wrote and reads the one its addressing mode named.