[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] Optimiser bloats code
From: |
Eric Weddington |
Subject: |
RE: [avr-gcc-list] Optimiser bloats code |
Date: |
Thu, 02 Aug 2007 08:28:02 -0600 |
> -----Original Message-----
> From:
> address@hidden
> [mailto:address@hidden
> org] On Behalf Of Paulo Marques
> Sent: Thursday, August 02, 2007 8:13 AM
> To: address@hidden
> Subject: Re: [avr-gcc-list] Optimiser bloats code
>
> The output from gcc 4.2.0:
>
> byte inv_test(void)
> {
> return pgm_read_byte(&inv_table[PORTB & 0x3]);
> 96: e8 b3 in r30, 0x18 ; 24
> 98: ff 27 eor r31, r31
> 9a: e3 70 andi r30, 0x03 ; 3
> 9c: f0 70 andi r31, 0x00 ; 0
> 9e: ec 5a subi r30, 0xAC ; 172
> a0: ff 4f sbci r31, 0xFF ; 255
> a2: e4 91 lpm r30, Z
> }
> a4: 8e 2f mov r24, r30
> a6: 99 27 eor r25, r25
> a8: 08 95 ret
>
> If not for the redundant "andi r31, 0x00" (when r31 has just
Yeah, we could really use a new peephole optimizer here...
Eric