https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67351

Allan Jensen <linux at carewolf dot com> changed:

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

--- Comment #10 from Allan Jensen <linux at carewolf dot com> ---
With a recent gcc 6 this example appears perfectly optimized:
Disassembly of section .text:

0000000000000000 <_Z4testv>:
   0:   48 83 ec 08             sub    $0x8,%rsp
   4:   e8 00 00 00 00          callq  9 <_Z4testv+0x9>
   9:   25 ff ff 00 ff          and    $0xff00ffff,%eax
   e:   48 83 c4 08             add    $0x8,%rsp
  12:   0d 00 00 f0 00          or     $0xf00000,%eax
  17:   c3                      retq   
  18:   0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
  1f:   00 

0000000000000020 <_Z6test64v>:
  20:   48 83 ec 08             sub    $0x8,%rsp
  24:   e8 00 00 00 00          callq  29 <_Z6test64v+0x9>
  29:   48 ba ff ff ff ff 00    movabs $0xffff0000ffffffff,%rdx
  30:   00 ff ff 
  33:   48 83 c4 08             add    $0x8,%rsp
  37:   48 21 d0                and    %rdx,%rax
  3a:   48 ba 00 00 00 00 f0    movabs $0xf0f000000000,%rdx
  41:   f0 00 00 
  44:   48 09 d0                or     %rdx,%rax
  47:   c3                      retq

Reply via email to