[Bug target/35507] New: [avr] 4.3.0: size of small funcion increases from 2 to 29 words
dmixm at marine dot febras dot ru
gcc-bugzilla@gcc.gnu.org
Sat Mar 8 09:13:00 GMT 2008
For funcion:
long mult (long x, long y)
{
return x * y;
}
the avr-gcc 4.3.0 produces 29 words of code (-Os option):
mult:
push r14
push r15
push r16
push r17
/* prologue: function */
/* frame size = 0 */
mov r14,r18
mov r15,r19
mov r16,r20
mov r17,r21
mov r18,r22
mov r19,r23
mov r20,r24
mov r21,r25
mov r25,r17
mov r24,r16
mov r23,r15
mov r22,r14
rcall __mulsi3
mov r18,r22
mov r19,r23
mov r20,r24
mov r21,r25
mov r23,r19
mov r24,r20
mov r25,r21
/* epilogue start */
pop r17
pop r16
pop r15
pop r14
ret
The result of avr-gcc 4.1.2 is 2 words:
mult:
/* prologue: frame size=0 */
/* prologue end (size=0) */
rcall __mulsi3
/* epilogue: frame size=0 */
ret
--
Summary: [avr] 4.3.0: size of small funcion increases from 2 to
29 words
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dmixm at marine dot febras dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35507
More information about the Gcc-bugs
mailing list