From 68f4318327e75a709f6a3bea327915c0558127df Mon Sep 17 00:00:00 2001
From: Charles Baylis <charles.baylis@linaro.org>
Date: Fri, 13 Nov 2015 12:24:08 +0000
Subject: [PATCH 4/4] Use integer costs for soft float
If using soft float, then costs of accessing FP values is actually the same
as the cost of accessing integers of the same size.
Change-Id: Icb672b2b599ea4e433bc0b29c228e9f910aeb3ee
---
gcc/config/arm/arm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -9579,15 +9579,15 @@ arm_new_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code,
: ARM_NUM_REGS (mode) <= 12 ? extra_cost->extra_mem->vec384[op]
: extra_cost->extra_mem->vec512[op]);
}
- else if (FLOAT_MODE_P (mode))
+ else if (mode == BLKmode)
+ *cost += extra_cost->extra_mem->blk[op];
+ else if (FLOAT_MODE_P (mode) && TARGET_HARD_FLOAT)
{
*cost +=
(ARM_NUM_REGS (mode) <= 1 ? extra_cost->extra_mem->sf[op]
: ARM_NUM_REGS (mode) <= 2 ? extra_cost->extra_mem->df[op]
: extra_cost->extra_mem->cdf[op]);
}
- else if (mode == BLKmode)
- *cost += extra_cost->extra_mem->blk[op];
else
{ /* integer modes */
*cost +=
--
1.9.1