mirror of https://github.com/hak5/openwrt-owl.git
parent
55a7b0a6e1
commit
78fb5a1b98
|
@ -0,0 +1,16 @@
|
||||||
|
Index: gcc-4.1.2/gcc/fold-const.c
|
||||||
|
===================================================================
|
||||||
|
--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
|
||||||
|
+++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
|
||||||
|
@@ -5339,7 +5339,10 @@
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- /* FALLTHROUGH */
|
||||||
|
+ /* If the constant is negative, we cannot simplify this. */
|
||||||
|
+ if (tree_int_cst_sgn (c) == -1)
|
||||||
|
+ break;
|
||||||
|
+ /* FALLTHROUGH */
|
||||||
|
case NEGATE_EXPR:
|
||||||
|
if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
|
||||||
|
return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
|
|
@ -0,0 +1,18 @@
|
||||||
|
--- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055
|
||||||
|
+++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056
|
||||||
|
@@ -15415,6 +15415,15 @@
|
||||||
|
/* 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;
|
Loading…
Reference in New Issue