This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/17236] inefficient code for long long multiply on x86
- From: "giovannibajo at libero dot it" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Mar 2005 10:04:56 -0000
- Subject: [Bug rtl-optimization/17236] inefficient code for long long multiply on x86
- References: <20040830055039.17236.dann@godzilla.ics.uci.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From giovannibajo at libero dot it 2005-03-15 10:04 -------
Roger explains what else needs to be done here:
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg01386.html
Right now, after his patch, mainline generates this code:
pushl %edi
pushl %esi
pushl %ebx
movl 16(%esp), %eax
movl 20(%esp), %edx
movl 24(%esp), %ecx
movl 28(%esp), %ebx
movl %edx, %esi
imull %ecx, %esi
movl %ebx, %edi
imull %eax, %edi
addl %edi, %esi
mull %ecx
leal (%esi,%edx), %edx
popl %ebx
popl %esi
popl %edi
ret
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17236