https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110748
palmer at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |palmer at gcc dot gnu.org --- Comment #6 from palmer at gcc dot gnu.org --- (In reply to Jeffrey A. Law from comment #5) > I'd bet it's const_0_operand not allowing CONST_DOUBLE. > > The question is what unintended side effects we'd have if we allowed > CONST_DOUBLE 0.0 in const_0_operand. We don't have a architectural 0 register, so we'd probably end up needing to refactor some stuff. It's probably smoother to add some sort of "reg_or_0_or_0f_operand" type predicate, and then convert the floating-point stuff that takes X registers over to that (at least stores and integer->float conversions, but maybe some comparisons too?).