[Bug c/47644] New: [avr] Regression in choosing registers
Kip.Hicit at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Feb 8 11:48:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47644
Summary: [avr] Regression in choosing registers
Product: gcc
Version: 4.3.3
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: Kip.Hicit@gmail.com
Created attachment 23275
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23275
Test case in C
Consider the following snippet compiled with -O3:
int lsl_short(int f) {
return f << 1;
}
gcc 4.3.3 is copying the value from r25:r24 (first parameter) to r19:r18, then
moving back to r25:r24 (return value). Same for longs but with 4 registers.
Expected:
The lsl and rol should happen directly on r25:r24, just as they did in 4.2
More information about the Gcc-bugs
mailing list