http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9814

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #10 from Steven Bosscher <steven at gcc dot gnu.org> 2011-05-22 
14:54:53 UTC ---
Works overall, fails at GIMPLE level:

$ ./cc1 -quiet -m32 -fomit-frame-pointer -O2 t.c -fdump-tree-optimized
$ cat t.s
    .file    "t.c"
    .text
    .p2align 4,,15
    .globl    k
    .type    k, @function
k:
.LFB0:
    .cfi_startproc
    movl    4(%esp), %eax
    ret
    .cfi_endproc
.LFE0:
    .size    k, .-k
    .ident    "GCC: (GNU) 4.6.0 20110312 (experimental) [trunk revision
170907]"
    .section    .note.GNU-stack,"",@progbits
$ cat t.c.143t.optimized 

;; Function k (k)

k (int l)
{
  int D.1979;

<bb 2>:
  D.1979_3 = l_2(D) & 2;
  if (D.1979_3 != 0)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  l_4 = l_2(D) | 2;

<bb 4>:
  # l_1 = PHI <l_2(D)(2), l_4(3)>
  return l_1;

}

But there is already a (series of) bug report(s) for missed bit folding
optimizations on GIMPLE.

Reply via email to