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

--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-29 
16:11:12 UTC ---
(In reply to comment #1)
> Johann,
> Would some type of peephole optimization help out on this?

RTL peephole won't work because they operate just inside basic blocks.

Don't know the retionale behind that limitation, appears that it's just for
technical and implementational reasons.  RTL peep need not to be confused by
BBs, just code_labels etc. would bother.

Text peepholes match but it might be tedious and error prone to work out
instructions lengths or the correct instructions if jump offsets don't match.

Maybe a way is in avr_reorg, but it would be quite tedious to work out all
QI/HI/SI signed and unsigned combinations.  And it must ensure that no other
transformation takes place.  There's bunch of special treatment in md and c and
cc0 handling.  E.g. I don't quite understand why jumps clobber cc0; btw not
clobbering cc0 will not fix this PR.

Reply via email to