* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
authorjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Apr 2005 18:50:14 +0000 (18:50 +0000)
committerjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Apr 2005 18:50:14 +0000 (18:50 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98417 138bc75d-0d04-0410-961f-82ee72b054a4

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

index fdbb23c..99347ef 100644 (file)
@@ -1,3 +1,7 @@
+2005-04-19  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs. 
+
 2005-04-19  Andrew Haley  <aph@redhat.com>
 
        PR java/21022
index b713bff..6336016 100644 (file)
@@ -755,6 +755,13 @@ arm_init_libfuncs (void)
   set_optab_libfunc (udiv_optab, DImode, "__aeabi_uldivmod");
   set_optab_libfunc (sdiv_optab, SImode, "__aeabi_idivmod");
   set_optab_libfunc (udiv_optab, SImode, "__aeabi_uidivmod");
+
+  /* We don't have mod libcalls.  Fortunately gcc knows how to use the
+     divmod libcalls instead.  */
+  set_optab_libfunc (smod_optab, DImode, NULL);
+  set_optab_libfunc (umod_optab, DImode, NULL);
+  set_optab_libfunc (smod_optab, SImode, NULL);
+  set_optab_libfunc (umod_optab, SImode, NULL);
 }
 
 /* Fix up any incompatible options that the user has specified.