https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110748

--- Comment #7 from palmer at gcc dot gnu.org ---
(In reply to palmer from comment #6)
> (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?).

Should have said "We don't have a architectural 0 floating-point register", we
have x0 (which is why that reg_or_0 stuff shows up).

Reply via email to