diff options
author | Daniel Jacobowitz <dan@codesourcery.com> | 2005-11-04 15:29:01 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@gcc.gnu.org> | 2005-11-04 15:29:01 +0000 |
commit | e993ba8f57882d7abc34292e8e614e9978db52d5 (patch) | |
tree | c3c44d04ab9110f37ed89fad8999cec490336978 /gcc | |
parent | 74900b5a751204a2b15f1146f41049e69230b733 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 7 |
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. */ |