You are right, this is due to alignment of the pointer. In many RISC systems, alignment should be at least the same as the data type itself. (ARM falls into this category.)
In this case float, 4 bytes, so the address must be aligned with 4 bytes. (divided by 4)
, punning .
x86 - .