aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-11-18 17:28:02 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-11-18 17:28:02 +0000
commitb9c5315018a258574309d05df7f092868b508eae (patch)
treed4149b2ae8676713c455f97df2e026b92cdd295c
parentc44e68a5f70cca855b79dce8b8ba5c7274a8c731 (diff)
downloadgcc-b9c5315018a258574309d05df7f092868b508eae.zip
gcc-b9c5315018a258574309d05df7f092868b508eae.tar.gz
gcc-b9c5315018a258574309d05df7f092868b508eae.tar.bz2
re PR middle-end/11821 (Operator implementation as a library call fails with constants)
PR middle-end/11821 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code size for calls to libgcc's div & mod subroutines when using -Os. From-SVN: r73706
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c75cbe0..2330d33 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-11-18 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/11821
+ * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
+ size for calls to libgcc's div & mod subroutines when using -Os.
+
2003-11-18 Jan Hubicka <jh@suse.cz>
* cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 15143d9..c0a0cd84 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3210,7 +3210,9 @@ arm_rtx_costs_1 (rtx x, enum rtx_code code, enum rtx_code outer)
case DIV:
case MOD:
- return 100;
+ case UDIV:
+ case UMOD:
+ return optimize_size ? COSTS_N_INSNS (2) : 100;
case ROTATE:
if (mode == SImode && GET_CODE (XEXP (x, 1)) == REG)