[Bug target/56442] New: Could not identify that register is clobbered already

pitchumani.s at atmel dot com gcc-bugzilla@gcc.gnu.org
Mon Feb 25 08:42:00 GMT 2013


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

             Bug #: 56442
           Summary: Could not identify that register is clobbered already
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pitchumani.s@atmel.com


Wrong code is generated for avr target when gcc-4.7.2 is used.

Test case: dejagnu test gcc.dg/var-expand2.c
command line options: -O2 -funroll-loops -ffast-math -mmcu=atxmega128b1

(snip of assembly)
ldi r24,lo8(array+4)
ldi r25,hi8(array+4)
sub r14,r24
sbc r15,r25
lsr r15
ror r14
lsr r15
ror r14
ldi r25,3        ;; r25 is overwritten
and r14,r25
clr r15
lds r18,array
lds r19,array+1
lds r20,array+2
lds r21,array+3
movw r28,r24    ;; register pair r24/r25 is used
(snip of assembly)

conversation on mailing list:
http://gcc.gnu.org/ml/gcc/2013-02/msg00264.html



More information about the Gcc-bugs mailing list