gcc-patches@gcc.gnu.org
[Top] [All Lists]

Re: PATCH: new port: Moxie

Subject: Re: PATCH: new port: Moxie
From: Anthony Green
Date: Wed, 03 Jun 2009 07:31:05 -0400
A recent change in GCC caused a regression for moxie-elf-gcc. Here's an updated version of the port. The only change in this version is the addition of the last switch statement case in moxie_print_operand_address() in gcc/config/moxie/moxie.c.

It's been a few weeks since I submitted the last final version of this patch. I'll let this updated patch act as my PING to the people who can approve this port.

Thanks,

AG


diff --git a/gcc/gcc/config/moxie/moxie.c b/gcc/gcc/config/moxie/moxie.c
index b514e65..4e42c3c 100644
--- a/gcc/gcc/config/moxie/moxie.c
+++ b/gcc/gcc/config/moxie/moxie.c
@@ -113,6 +113,20 @@ moxie_print_operand_address (FILE *file, rtx x)
     output_addr_const (file, XEXP (x, 1));
     fprintf (file, "(%s)", reg_names[REGNO (XEXP (x, 0))]);
     break;
+    case CONST:
+      {
+        rtx plus = XEXP (XEXP (x, 1), 0);
+        if (GET_CODE (XEXP (plus, 0)) == SYMBOL_REF
+        && CONST_INT_P (XEXP (plus, 1)))
+          {
+        output_addr_const(file, XEXP (plus, 0));
+        fprintf (file,"+%ld(%s)", INTVAL (XEXP (plus, 1)),
+             reg_names[REGNO (XEXP (x, 0))]);
+          }
+        else
+          abort();
+      }
+      break;
   default:
     abort();
   }
@@ -182,8 +196,8 @@ struct GTY(()) machine_function
  /* Number of bytes saved on the stack for local variables.  */
  int local_vars_size;

- /* The sum of 2 sizes: locals vars and padding byte for saving the registers.
-    * Used in expand_prologue () and expand_epilogue ().  */
+   /* The sum of 2 sizes: locals vars and padding byte for saving the
+    * registers.  Used in expand_prologue () and expand_epilogue().  */
  int size_for_adjusting_sp;
};

<Prev in Thread] Current Thread [Next in Thread>