This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/16978] Inefficient 32x32=>64 multiply and add on x86-32
- From: "tomstdenis at iahu dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Aug 2004 13:52:18 -0000
- Subject: [Bug target/16978] Inefficient 32x32=>64 multiply and add on x86-32
- References: <20040811133935.16978.tomstdenis@iahu.ca>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From tomstdenis at iahu dot ca 2004-08-11 13:52 -------
Note that GCC 3.4.1 doesn't share this bug... it produces
.L5:
movl (%ebp), %eax
mull (%edi)
addl %eax, %ebx
movl -4(%ebp), %eax
adcl %edx, %esi
mull 4(%edi)
addl %eax, %ebx
movl -8(%ebp), %eax
adcl %edx, %esi
mull 8(%edi)
...
So it's just a problem in the 3.3.x tree.
Also note in both cases I'm using
gcc -I./ -Wall -W -Wshadow -Wsign-compare -O3 -funroll-loops
-fomit-frame-pointer -S test.c
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|Inefficient 32x32=>64 |Inefficient 32x32=>64
|multiply and add on x86-32 |multiply and add on x86-32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16978