Package: gcc-3.0
Version: 1:3.0-0pre010403
Severity: minor

gcc-3.0 wastes a byte in the following code on i386:

a:
        pushl   %ebp
        movl    %esp, %ebp
        movl    8(%ebp), %eax
        andl    $1, %eax
        cwtl
        popl    %ebp
        ret

The cwtl is unnecessary since %eax has just been anded with 1.

The source is:

int a(short i) {
        return i & 1;
}

-- System Information
Debian Release: testing/unstable
Kernel Version: Linux gondolin 2.4.3-686-smp #1 SMP Sun Apr 22 13:43:38 EST 
2001 i686 unknown

Versions of the packages gcc-3.0 depends on:
ii  binutils       2.11.90.0.1-1  The GNU assembler, linker and binary utiliti
ii  cpp-3.0        3.0-0pre010403 The GNU C preprocessor.
ii  gcc-3.0-base   3.0-0pre010403 The GNU compiler collection (base package).
ii  libc6          2.2.2-4        GNU C Library: Shared libraries and Timezone
ii  libgcc300      3.0-0pre010403 Shared libgcc.


Reply via email to