https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97715
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
;; Floating-point register constraints.
(define_register_constraint "f"
"TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387 ? FLOAT_REGS : NO_REGS"
"Any 80387 floating-point (stack) register.")
So, zero_all_st_registers really should just
if (!TARGET_80387 && !TARGET_FLOAT_RETURNS_IN_80387)
return false;
somewhere early.
