------- Comment #9 from rguenth at gcc dot gnu dot org 2007-11-12 13:28 ------- We now generate with -Os -m32
foobar: pushl %ebp movl %esp, %ebp subl $8, %esp pushl $0 pushl $1000000000 pushl 12(%ebp) pushl 8(%ebp) call __umoddi3 addl $16, %esp leave ret and with -O2 -m32: foobar: pushl %ebp movl %esp, %ebp subl $24, %esp movl 12(%ebp), %edx movl 8(%ebp), %eax cmpl $0, %edx ja .L5 cmpl $999999999, %eax ja .L5 leave ret which for -Os is smaller than what we generated with 4.2 (and for -O2 it is slightly larger). So, fixed. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34027