This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/49788] New: Extra Load immediate with zero
- From: "paul at pixelmetrix dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 20 Jul 2011 01:31:36 +0000
- Subject: [Bug tree-optimization/49788] New: Extra Load immediate with zero
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49788
Summary: Extra Load immediate with zero
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: paul@pixelmetrix.com
Target: PowerPC-eabi
Build: 4.1.1 and 4.4.6
options : -O2 -std=gnu99
This is on 32bit PowerPC processor, when we trying to multiple add to 64bit
long long together:
unsigned long a,b;
unsigned long long x += a;
unsigned long long y += b;
this produce the following code
li r25,0
li r23,0 <-----unnecessary extra load.
addc r13,r13,r26
adde r12,r12,r25
addc r11,r11,r24
adde r10,r10,r23 <-----r23, can also just use r25
The is a unnecessary load. Since r25 is already zero, it can be used for both
cases(or more).