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 target/39633] [avr] loop bug


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.


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