gcc: add ARM codegen fix from PR 65932

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46774
This commit is contained in:
Felix Fietkau 2015-09-03 13:14:44 +00:00
parent efb08b9602
commit 86ba95601a
2 changed files with 21 additions and 1 deletions

View file

@ -23,7 +23,6 @@ choice
config GCC_USE_VERSION_5
select GCC_VERSION_5
bool "gcc 5.x"
depends on BROKEN
endchoice

View file

@ -0,0 +1,21 @@
Fix from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -628,16 +628,10 @@ extern int arm_arch_crc;
type, but kept valid in the wider mode. The signedness of the
extension may differ from that of the type. */
-/* It is far faster to zero extend chars than to sign extend them */
-
#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
if (GET_MODE_CLASS (MODE) == MODE_INT \
&& GET_MODE_SIZE (MODE) < 4) \
{ \
- if (MODE == QImode) \
- UNSIGNEDP = 1; \
- else if (MODE == HImode) \
- UNSIGNEDP = 1; \
(MODE) = SImode; \
}