https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62014 --- Comment #12 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- aarch64_conditional_register_usage() marks all FP registers as unavailable if !TARGET_FLOAT. So the real question is why this isn't sufficient to disable use of FP registers.