|
|
@@ -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; \
|
|
|
+ }
|
|
|
+
|