Skip to main content

UPDATES

Static UPDATES 

Source
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.