mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
3bb1ed661a
commit
29a551b3b4
|
@ -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>
|
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
|
||||||
|
|
||||||
* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
|
* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
|
||||||
|
|
|
@ -6377,23 +6377,6 @@ arm_rtx_costs_1 (rtx x, enum rtx_code outer, int* total, bool speed)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case MINUS:
|
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)
|
if (mode == DImode)
|
||||||
{
|
{
|
||||||
*total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
|
*total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
|
||||||
|
|
Loading…
Reference in New Issue