for integers, we use only two temporaries for spilling and
reloading, plus eax for the calling conventions;
for floats, we use SSE2 registers
- will have to think about the top of the float stack
for the calling conventions
Following compcert, the type mreg does not include special-purpose
or reserved machine registers such as the stack pointer and the
condition codes.