Half-precision floating point arguments and returns are currently
promoted to either float or int32 in clang's CodeGen. As such promotions
are implemented as coercion through memory in clang, aruments and
returns of those types end up stored on the wrong bits on big-endian
AArch32 - MSBs instead of LSBs.
This patch enforces AAPCS' directions, making sure clang stores those
types on the proper bits during coercion through memory for bit-endian