The recent change D60691 introduced a bug in clang when handling
option combinations such as -mcpu=cortex-m4 -mfpu=none. Those
options together should select Cortex-M4 but disable all use of
hardware FP, but in fact, now hardware FP instructions can still be
generated in that mode.
The reason is because the handling of FPUVersion::NONE disables all
the same feature names it used to, of which the base one is vfp2.
But now there are further features below that, like vfp2d16fp and
(following D60694) fpregs, which also need to be turned off to
disable hardware FP completely.
Added a tiny test which double-checks that compiling a simple FP
function doesn't access the FP registers.