gcc: add ARM codegen fix from PR 65932
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46774
This commit is contained in:
parent
efb08b9602
commit
86ba95601a
2 changed files with 21 additions and 1 deletions
|
@ -23,7 +23,6 @@ choice
|
||||||
config GCC_USE_VERSION_5
|
config GCC_USE_VERSION_5
|
||||||
select GCC_VERSION_5
|
select GCC_VERSION_5
|
||||||
bool "gcc 5.x"
|
bool "gcc 5.x"
|
||||||
depends on BROKEN
|
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
|
|
@ -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; \
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue