http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48604
Summary: [PowerPC] Wrong code with -frename-registers -Os
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: [email protected]
ReportedBy: [email protected]
Target: powerpc-rtems4.11-gcc
Created attachment 23977
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23977
C source code corresponding to the assembler code.
Creating an assembler file with
powerpc-rtems4.11-gcc -S -frename-registers -Os qmmpagef.i
generates wrong code.
In fmm_setup_mmu_fn:
.L20:
addi 31,1,304
mr 3,28
b _restgpr_18_x
.size fmm_setup_mmu_fn, .-fmm_setup_mmu_fn
Usage of register 31 is wrong here, should be register 11. Compiling with
-fno-rename-registers leads to valid code.