aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hope <michael.hope@linaro.org>2012-03-23 16:11:57 +1300
committerMichael Hope <michael.hope@linaro.org>2012-03-23 16:11:57 +1300
commit3f8b30cafcf14314ae0d303bb4b9c83f088811ae (patch)
tree2cb49826afc390c62fd131f5e7958bb6bfaf6ff9
parentd2ec8aaa74c96ee2352dc8aecc3088e03db17acc (diff)
Backport from mainline r185202:
2012-03-11 Michael Hope <michael.hope@linaro.org> * longlong.h [ARM] (add_ssaaaa, sub_ddmmss, umul_ppmm): Enable for Thumb-2.
-rw-r--r--ChangeLog.linaro7
-rw-r--r--libgcc/longlong.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog.linaro b/ChangeLog.linaro
index 1ea3364ace5..5f88cc499f3 100644
--- a/ChangeLog.linaro
+++ b/ChangeLog.linaro
@@ -8,6 +8,13 @@
* longlong.h [ARM] (umul_ppmm): Use umull for arm3m and later.
[ARM] (count_trailing_zeros): Use the builtin.
+ Backport from mainline r185202:
+
+ 2012-03-11 Michael Hope <michael.hope@linaro.org>
+
+ * longlong.h [ARM] (add_ssaaaa, sub_ddmmss, umul_ppmm): Enable
+ for Thumb-2.
+
2012-03-21 Andrew Stubbs <ams@codesourcery.com>
Backport from FSF mainline:
diff --git a/libgcc/longlong.h b/libgcc/longlong.h
index 1a839dd0d30..202637714af 100644
--- a/libgcc/longlong.h
+++ b/libgcc/longlong.h
@@ -203,7 +203,8 @@ do { \
UDItype __umulsidi3 (USItype, USItype);
#endif
-#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
+#if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
+ && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("adds %1, %4, %5\n\tadc %0, %2, %3" \
: "=r" ((USItype) (sh)), \