You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
577 B
18 lines
577 B
--- a/gcc/config/arm/arm.c
|
|
+++ b/gcc/config/arm/arm.c
|
|
@@ -15371,6 +15371,15 @@ arm_unwind_emit_set (FILE * asm_out_file
|
|
/* Move from sp to reg. */
|
|
asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
|
|
}
|
|
+ else if (GET_CODE (e1) == PLUS
|
|
+ && GET_CODE (XEXP (e1, 0)) == REG
|
|
+ && REGNO (XEXP (e1, 0)) == SP_REGNUM
|
|
+ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
|
|
+ {
|
|
+ /* Set reg to offset from sp. */
|
|
+ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
|
|
+ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
|
|
+ }
|
|
else
|
|
abort ();
|
|
break;
|
|
|