https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99773
--- Comment #5 from Christophe Lyon <clyon at gcc dot gnu.org> --- Compiling with -march=armv8.1-m.main+mve -mfloat-abi=hard defines: TARGET_SOFT_FLOAT 1 TARGET_HARD_FLOAT 0 TARGET_HARD_FLOAT_ABI 1 TARGET_VFP_SINGLE 1 so indeed what you propose does the trick. (Sorry I proposed comment #3 yesterday too in a hurry)