https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110934
--- Comment #8 from Mikael Pettersson <mikpelinux at gmail dot com> --- The generic code synthesizes a move from CONST0_RTX (XFmode) to an XFmode FP reg, and that causes the ice. Forcing the mode of both to SFmode or DFmode avoids the ice and generates sane-looking code. The XFmode comes from the generic code's use of regno_reg_rtx[regno] (in zcur_select_mode_rtx). I'm not sure if overriding TARGET_ZERO_CALL_USED_REGS on m68k is the right thing to do, or if it only masks a deeper problem within the backend.