Hi DJ,

  Please may I apply the patch below.  It fixes the RL78 backend so that
  the stack register can be used as a base address register.

  Tested with no regressions on an rl78-elf toolchain.

Cheers
  Nick

PS.  I am currently investigating allow r8-r15 to be used as base
registers.

gcc/ChangeLog
2013-01-28  Nick Clifton  <ni...@redhat.com>

        * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
        SP_REG. 

Index: gcc/config/rl78/rl78.c
===================================================================
--- gcc/config/rl78/rl78.c      (revision 195461)
+++ gcc/config/rl78/rl78.c      (working copy)
@@ -769,7 +769,7 @@
                                    addr_space_t address_space ATTRIBUTE_UNUSED,
                                    int outer_code ATTRIBUTE_UNUSED, int 
index_code)
 {
-  if (regno < 24 && regno >= 16)
+  if (regno <= SP_REG && regno >= 16)
     return true;
   if (index_code == REG)
     return (regno == HL_REG);

Reply via email to