This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/80491] [6/7/8 Regression] Compiler regression for long-add case.


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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #7)
> (In reply to Jakub Jelinek from comment #6)
> > Segher, any idea what can be done about the second (combiner) issue?
> > Is it possible to special case MODE_CC class hard registers that are just
> > clobbered on the i2 insn using a separate clobber in a parallel (so the
> > single_set in that case which is what we try to substitute doesn't clobber
> > it)
> > and not in insns in between i1 and i2 and i2 and i3?
> 
> Should we bail out at all here?

Maybe not.  My combiner knowledge is limited.

>   Why would we care if the original insns
> clobbered some reg; what matters is if the insns combine comes up with do?
> 
> This is even true for SETs instead of CLOBBERs, if the SET isn't needed.

But then we need to be able to ask whether something is clobbered or set in
between the instructions and ignore those instructions.
No idea what use_crosses_set_p replacement would be for that.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]