What's confusing here? The code is correct, just a bit more complicated than necessary. The single-move reads a single precision floating point of 4 bytes size, extends it to double precision, and then later rounds it back to single precision, and stores it on the stack.
|