OSDN Git Service

* config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2005 15:29:01 +0000 (15:29 +0000)
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2005 15:29:01 +0000 (15:29 +0000)
__aeabi_uidiv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106492 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index bb6f9b7..021be34 100644 (file)
@@ -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>
 
index 061c33a..0433db1 100644 (file)
@@ -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.  */