aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@codesourcery.com>2005-11-04 15:29:01 +0000
committerDaniel Jacobowitz <drow@gcc.gnu.org>2005-11-04 15:29:01 +0000
commite993ba8f57882d7abc34292e8e614e9978db52d5 (patch)
treec3c44d04ab9110f37ed89fad8999cec490336978 /gcc
parent74900b5a751204a2b15f1146f41049e69230b733 (diff)
downloadgcc-e993ba8f57882d7abc34292e8e614e9978db52d5.zip
gcc-e993ba8f57882d7abc34292e8e614e9978db52d5.tar.gz
gcc-e993ba8f57882d7abc34292e8e614e9978db52d5.tar.bz2
arm.c (arm_init_libfuncs): Use __aeabi_idiv and __aeabi_uidiv.
* config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and __aeabi_uidiv. From-SVN: r106492
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb6f9b7..021be34 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-04 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
+ __aeabi_uidiv.
+
2005-11-04 Mark Mitchell <mark@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 061c33a..0433db1 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -817,8 +817,11 @@ arm_init_libfuncs (void)
routines. */
set_optab_libfunc (sdiv_optab, DImode, "__aeabi_ldivmod");
set_optab_libfunc (udiv_optab, DImode, "__aeabi_uldivmod");
- set_optab_libfunc (sdiv_optab, SImode, "__aeabi_idivmod");
- set_optab_libfunc (udiv_optab, SImode, "__aeabi_uidivmod");
+
+ /* For SImode division the ABI provides div-without-mod routines,
+ which are faster. */
+ set_optab_libfunc (sdiv_optab, SImode, "__aeabi_idiv");
+ set_optab_libfunc (udiv_optab, SImode, "__aeabi_uidiv");
/* We don't have mod libcalls. Fortunately gcc knows how to use the
divmod libcalls instead. */