From e993ba8f57882d7abc34292e8e614e9978db52d5 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Fri, 4 Nov 2005 15:29:01 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bb6f9b762d2..021be34bcff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-11-04 Daniel Jacobowitz + + * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and + __aeabi_uidiv. + 2005-11-04 Mark Mitchell Daniel Jacobowitz diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 061c33abfcc..0433db12ae5 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. */ -- 2.30.2