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: unassig...@gcc.gnu.org
        ReportedBy: sebastian.hu...@embedded-brains.de
            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.

Reply via email to