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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |target

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-25 
11:03:55 UTC ---
    movq    %rdi, %r8
    movq    %rsi, %rcx
    andl    $4294967295, %edi

I'm not sure it's pointless - %rdi contains a 64bit value and we want
to access the zero-extended %rdi later:

    imulq    %rdi, %rcx

it could have used a move to another register which implicitely zero-extends
or maybe a zero-extension on the same register (if that exists).  The
and is only 3 bytes in size.  A mov %edi, %edi is 2 bytes but I'm not sure
that implicitely zero-extends.

Reply via email to