A C expression for the number of consecutive hard registers, starting at register number regno , required to hold a value of mode mode . It is not necessary for this macro to check for the numbers of fixed registers, because the allocation mechanism considers them to be always occupied. The way to implement that is to define this macro to reject odd register numbers for such modes.
Many machines have special registers for floating point arithmetic.
Often people assume that floating point machine modes are allowed only in floating point registers. This is not true. Any registers that can hold integers can safely hold a floating point machine mode, whether or not floating arithmetic can be done on it in those registers. Integer move instructions can be used to move the values. This is true if the floating registers normalize any value stored in them, because storing a non-floating value there would garble it.