Hi list,

This code:

char* f(char* p)
{
  p++;
  return p;
}

Results in:

        mov r18,r24
        mov r19,r25
        subi r18,lo8(-(1))
        sbci r19,hi8(-(1))
        mov r24,r18
        mov r25,r19
        ret

When compiling with avr-gcc -O[23s] -mmcu=avr5 -S main.c
Which is bad since it could have been:

        adiw r24, 1
        ret

I tested against WinAVR's 4.3.3 and avr-gcc-4.7-185693-mingw32
Both generate the same code.

Should I create a bug report?

Wouter


_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to