pub static UPDATES: &[Update]Expand description
The arithmetic that can work on memory in place on this machine.
The five operations that share an opcode column, at every width. The multiply is not one of
them: imul writes a register and there is no encoding of it that leaves the product where it
read one of its sources, so there is no instruction for a row to name.
Subtraction is here and does not commute, and the two facts are related. subq %rax, (%rcx)
takes the register away from the memory, so the run it matches is the one where the load feeds
the left source, which is the one arrangement FOLDS cannot use. The other four take either
source, because the answer does not depend on which of the two came out of memory.