The compiler currently ICEs when compiling a stdarg function with +nofp, as reported in PR 66258. The aarch64.md file disables FP instructions using TARGET_FLOAT, which supports both -mgeneral-regs-only and +nofp. But there is code in aarch64.c that checks TARGET_GENERAL_REGS_ONLY. This results in FP instructions when using +nofp, The aarch64.c code needs to use TARGET_FLOAT instead like the md file already does. I can't meaningfully test this with a bootstrap, since the patch has no effect unless I bootstrap with +nofp, and that will fail as gcc contains floating point code. The testsuite already has multiple stdarg tests, so there is no need for another one. I tested this by verifying I get the same results for some simple testcasess with and without the patch, with and without using -mgeneral-regs-only and -mcpu=cortex-a53+nofp.