This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/20276] New: 64bit target uses __adddi3
- From: "anton at samba dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Mar 2005 07:08:36 -0000
- Subject: [Bug regression/20276] New: 64bit target uses __adddi3
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
I just tried out a CVS copy of gcc and found problems with the following code:
long foo()
{
long int word;
word += 2147483647UL;
return word;
}
When compiled as 64bit uses the __adddi3 helper function:
mflr 0
li 4,-1
rldicl 4,4,0,33
std 0,16(1)
stdu 1,-112(1)
bl __adddi3
nop
addi 1,1,112
ld 0,16(1)
mtlr 0
blr
gcc 3.4.4 did a much better job:
li 3,-1
rldicl 3,3,0,33
add 3,0,3
blr
--
Summary: 64bit target uses __adddi3
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: anton at samba dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20276