aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-10-21 20:25:38 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-10-21 20:25:38 +0000
commit59798a0caebd2bec883331f93ae4fa07c69294eb (patch)
tree6b5be96ce3477a91475ee177a52fa7055725c853 /gcc
parent97d05bfdd2480b13c36ea215b45030168c613b04 (diff)
downloadgcc-59798a0caebd2bec883331f93ae4fa07c69294eb.zip
gcc-59798a0caebd2bec883331f93ae4fa07c69294eb.tar.gz
gcc-59798a0caebd2bec883331f93ae4fa07c69294eb.tar.bz2
libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3, __divdi3, __umoddi3, or __moddi3.
* libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3, __divdi3, __umoddi3, or __moddi3. From-SVN: r58382
Diffstat (limited to 'gcc')
-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)
{