This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/39633] [avr] loop bug
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 9 Jul 2011 16:39:55 +0000
- Subject: [Bug target/39633] [avr] loop bug
- Auto-submitted: auto-generated
- References: <bug-39633-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39633
--- Comment #7 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-09 16:39:24 UTC ---
The bug is here:
lsl r24 ashrqi3/5
sbc r24,r24
brne .L3 branch
The SBC doc says:
> Z: Previous value [of Z] remains unchanged when the
> result [of SBC] is zero; cleared otherwise.
I.e. the SBC leaves cc0 in a mess, and that's ashrqi3/5:
"r,0,n" and "cc=clobber".
I do not understand where the BRNE comes from because it's a conditional jump
and cc0 is in a mess.