toolchain/gcc: add 4.3 / 4.4 fix for gcc pr 39429
Patch from OSELAS.Toolchain-2011.03.1. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
da8ecfecef
commit
3456a6a66c
24
toolchain/gcc/4.3.6/gcc-43-pr39429.patch
Normal file
24
toolchain/gcc/4.3.6/gcc-43-pr39429.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From: Michael Olbrich <m.olbrich@pengutronix.de>
|
||||||
|
Subject: Fix: compiler create bad asm codes.
|
||||||
|
|
||||||
|
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
||||||
|
|
||||||
|
---
|
||||||
|
gcc/config/arm/arm.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: b/gcc/config/arm/arm.c
|
||||||
|
===================================================================
|
||||||
|
--- a/gcc/config/arm/arm.c
|
||||||
|
+++ b/gcc/config/arm/arm.c
|
||||||
|
@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b)
|
||||||
|
/* Don't accept any offset that will require multiple
|
||||||
|
instructions to handle, since this would cause the
|
||||||
|
arith_adjacentmem pattern to output an overlong sequence. */
|
||||||
|
- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
|
||||||
|
+ if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* Don't allow an eliminable register: register elimination can make
|
24
toolchain/gcc/4.4.6/gcc-44-pr39429.patch
Normal file
24
toolchain/gcc/4.4.6/gcc-44-pr39429.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From: Michael Olbrich <m.olbrich@pengutronix.de>
|
||||||
|
Subject: Fix: compiler create bad asm codes.
|
||||||
|
|
||||||
|
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details.
|
||||||
|
|
||||||
|
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
||||||
|
|
||||||
|
---
|
||||||
|
gcc/config/arm/arm.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: b/gcc/config/arm/arm.c
|
||||||
|
===================================================================
|
||||||
|
--- a/gcc/config/arm/arm.c
|
||||||
|
+++ b/gcc/config/arm/arm.c
|
||||||
|
@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b)
|
||||||
|
/* Don't accept any offset that will require multiple
|
||||||
|
instructions to handle, since this would cause the
|
||||||
|
arith_adjacentmem pattern to output an overlong sequence. */
|
||||||
|
- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
|
||||||
|
+ if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* Don't allow an eliminable register: register elimination can make
|
Loading…
Reference in New Issue
Block a user