summaryrefslogtreecommitdiff
path: root/gcc/config/arm
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2005-04-19 18:50:14 +0000
committerJulian Brown <jules@gcc.gnu.org>2005-04-19 18:50:14 +0000
commit01c19d4774d5fde96e8f99c1f6f554a303194e8e (patch)
tree41e173aca66ac46a85e74ee38a2c9d913b0a0a18 /gcc/config/arm
parent8766be86859c2377be11ddcc28fbb966c24033b6 (diff)
downloadgcc-01c19d4774d5fde96e8f99c1f6f554a303194e8e.tar.gz
* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
From-SVN: r98417
Diffstat (limited to 'gcc/config/arm')
-rw-r--r--gcc/config/arm/arm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index b713bff9a30..6336016078d 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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.