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/23837] [4.0/4.1/4.2 regression] Wrong code with REG_NO_CONFLICT notes (caused by combine)



------- Comment #28 from amylaar at gcc dot gnu dot org  2005-12-16 14:37 -------
(In reply to comment #25)
> Smarter folks than me (iant ;-) suggest that "a multi-word rotate will normally
> need all the input bits when setting any of the output bits", so the entire
> no-conflict thing doesn't make sense here.

This is not really relevant, since the the insns that are using other words
than
the result word are computing their (intermediate) results into pseudos, and
thus get emitted in front of (i.e. outside) the REG_NO_CONFLICT block.
combine is really to blame for combining insns into a REG_NO_CONFLICT block
in a way to invalidate the REG_NO_CONFLICT note without removing the note.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23837


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