[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: