>Submitter-Id:  net
>Originator:    [EMAIL PROTECTED]
>Organization:  The Debian Project
>Confidential:  no
>Synopsis:      
>Severity:      non-critical
>Priority:      low
>Category:      optimization
>Class:         change-request
>Release:       3.2.2 (Debian) (Debian unstable)
>Environment:
System: Debian GNU/Linux (unstable)
Architecture: i686

        
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  gcc-3.2        3.2.3-0pre1    The GNU C compiler
ii  g++-3.2        3.2.3-0pre1    The GNU C++ compiler
ii  libstdc++5     3.2.3-0pre1    The GNU Standard C++ Library v3
ii  libstdc++5-dev 3.2.3-0pre1    The GNU Standard C++ Library v3 (development
ii  binutils       2.13.90.0.18-1 The GNU assembler, linker and binary utiliti
ii  libc6          2.3.1-13       GNU C Library: Shared libraries and Timezone
host: i386-linux
>Description:
[ Reported to the Debian BTS as report #181096.
  Please CC [EMAIL PROTECTED] on replies.
  Log of report can be found at http://bugs.debian.org/181096 ]
        

Checked with current 3.2 and 3.3 branches (20030221)

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)"

>How-To-Repeat:
        
>Fix:
        


Reply via email to