http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50447
Bug #: 50447 Summary: [avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@gcc.gnu.org Target: avr The current implementation sometimes leads to poor code for several reasons: o Insn "*iorsi3_clobber" is hidden behind "iorsi3" and thus will never be used. o There are no such insn for AND, XOR, PLUS so that the constant gets reloaded to a same-width register where a QI was sufficient. o If a clobber is needed, the value in the clobber reg is not reused. o Work out if a clobber is actually needed.