For generating NEON intrinsics, this determines the NEON data type, and
whether it should be a half type or an i16 type. I.e., we always pass a half
type for AArch64, this hasn't changed, but now also for ARM but only when
FullFP16 is enabled, and i16 otherwise.
This is intended to be non-functional change, but together with the backend
work in https://reviews.llvm.org/D44538 which adds support for f16 vectors,
this enables adding the AArch32 FP16 (vector) intrinsics.
_Float16 doesn't seem to be supported anywhere in Clang (__fp16 is).
But we should probably clarify exactly what kind of support we mean here. This variable doesn't affect:
I'm actually slightly worried that when we document what it does affect it'll end up being an ARM implementation-detail.