Bug#105309: acknowledged by developer (Bug#105309: fixed in gcc-3.3 1:3.3ds9-1)
reopen 105309
quit
On Sat, May 17, 2003 at 04:48:09PM -0500, Debian Bug Tracking System wrote:
> This is an automatic notification regarding your Bug report
> #105309: [fixed in 3.3/HEAD: PR optimization/3995] i386 optimisation: joining tests,
> which was filed against the gcc-3.2 package.
>
> It has been closed by one of the developers, namely
> Matthias Klose <doko@debian.org>.
Thanks for your great work.
This bug is mostly fixed, but one small detail remains. The final
jump back to the leave+ret sequence is still there.
Since leave+ret is a two-byte sequence, it makes sense to replace the
jump with a leave+ret.
Here is the -S -O2 output with gcc 3.3:
foo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
cmpb $0, 8(%ebp)
jle .L2
call a
.L3:
leave
ret
.p2align 2,,3
.L2:
call b
jmp .L3
The last jmp should become
leave
ret
--
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Reply to: