aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/libgcc2.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6f75f84..5181450 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
+ * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
+ __divdi3, __umoddi3, or __moddi3.
+
+2002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
+
* c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
instead of just opt_index as switch expression.
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index b1e9edc..4c78eb4 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -366,8 +366,17 @@ __muldi3 (DWtype u, DWtype v)
}
#endif
+#if (defined (L_udivdi3) || defined (L_divdi3) || \
+ defined (L_umoddi3) || defined (L_moddi3))
+#define L_udiv_w_sdiv
+#endif
+
#ifdef L_udiv_w_sdiv
#if defined (sdiv_qrnnd)
+#if (defined (L_udivdi3) || defined (L_divdi3) || \
+ defined (L_umoddi3) || defined (L_moddi3))
+static inline
+#endif
UWtype
__udiv_w_sdiv (UWtype *rp, UWtype a1, UWtype a0, UWtype d)
{