Give the register allocator access to the xmm registers.

This introduces the capability of partitioning the physical registers
according to type.  When making register selections, the register
allocator masks the set of potential registers against the set of
registers appropriate for the variable's type.  For x86-32, the
regular integer registers are used for all integer types, and the 8
xmm registers are used for float and double.  The xmm registers are
marked as scratch registers that are killed by a call instruction,
which I believe is the x86-32 ABI.