This patch adds codegen support for the calling convention defined by
the ILP32D ABI, which passes `f64` values using a soft-float mechanism.
Similar to RISC-V, it introduces pseudo-instructions to construct an
`f64` value from a pair of `i32`s, and to split an `f64` into two `i32`
values.