OSDN Git Service

PR middle-end/11821
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Nov 2003 17:28:02 +0000 (17:28 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Nov 2003 17:28:02 +0000 (17:28 +0000)
* 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.

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

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

index c75cbe0..2330d33 100644 (file)
@@ -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.
index 15143d9..c0a0cd8 100644 (file)
@@ -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)