From 29a551b3b4cf567c6aedada344cc9108975e95fa Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu@codesourcery.com>
Date: Tue, 8 Jun 2010 13:15:25 +0000
Subject: [PATCH] arm.c (arm_rtx_costs_1): Don't special case for Thumb-2 in
 the MINUS case.

	* config/arm/arm.c (arm_rtx_costs_1): Don't special case for
	Thumb-2 in the MINUS case.

From-SVN: r160436
---
 gcc/ChangeLog        |  5 +++++
 gcc/config/arm/arm.c | 17 -----------------
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 46703abeece4..486b3cf2f6e9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-08  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/arm/arm.c (arm_rtx_costs_1): Don't special case for
+	Thumb-2 in the MINUS case.
+
 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
 
 	* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index e44e94946fbe..7de0197d33fd 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -6377,23 +6377,6 @@ arm_rtx_costs_1 (rtx x, enum rtx_code outer, int* total, bool speed)
       return true;
 
     case MINUS:
-      if (TARGET_THUMB2)
-	{
-	  if (GET_MODE_CLASS (mode) == MODE_FLOAT)
-	    {
-	      if (TARGET_HARD_FLOAT && (mode == SFmode || mode == DFmode))
-		*total = COSTS_N_INSNS (1);
-	      else
-		*total = COSTS_N_INSNS (20);
-	    }
-	  else
-	    *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
-	  /* Thumb2 does not have RSB, so all arguments must be
-	     registers (subtracting a constant is canonicalized as
-	     addition of the negated constant).  */
-	  return false;
-	}
-
       if (mode == DImode)
 	{
 	  *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
-- 
GitLab