[Bug target/53110] GCC-4.7 generates stupid x86_64 asm
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 25 11:04:00 GMT 2012
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.
More information about the Gcc-bugs
mailing list