Package: gcc-3.2 Version: 1:3.2.3-0pre1 Severity: wishlist The following function doesn't get optimised away as a noop:
int k(int l) { if (l & 2) l |= 2; return l; } $ gcc-3.2 -O2 -S b.c $ cat b.s .file "b.c" .text .p2align 2,,3 .globl k .type k,@function k: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax testl $2, %eax je .L2 orl $2, %eax .L2: leave ret .Lfe1: .size k,.Lfe1-k .ident "GCC: (GNU) 3.2.3 20030210 (Debian prerelease)" -- System Information Debian Release: testing/unstable Kernel Version: Linux gondolin 2.4.20-686-smp #1 SMP Mon Jan 13 23:06:41 EST 2003 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux Versions of the packages gcc-3.2 depends on: ii binutils 2.13.90.0.10-1 The GNU assembler, linker and binary utiliti ii cpp-3.2 3.2.1-0pre3 The GNU C preprocessor. ii gcc-3.2-base 3.2.1-0pre3 The GNU Compiler Collection (base package). ii libc6 2.2.5-14.3 GNU C Library: Shared libraries and Timezone ii libgcc1 3.2.1-0pre3 GCC support library.