* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
authorPaul Brook <paul@codesourcery.com>
Tue, 19 Apr 2005 18:50:14 +0000 (18:50 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Tue, 19 Apr 2005 18:50:14 +0000 (18:50 +0000)
From-SVN: r98417

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

index fdbb23c2160bbc3ab9d6cb62d10dd42e18028cbc..99347ef2b4361555ef9ba89e2d568b56c9bca977 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 b713bff9a3076ce4e0807c1215f7c4a55df94042..6336016078dae0f76d047ef7c0d1aea41fffc1ca 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.