Commit 8a3a7e67 by Richard Henderson Committed by Richard Henderson

aarch64: Fix build error in aarch64_register_move_cost

        * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
        to GET_MODE_SIZE, not a reg_class_t.

From-SVN: r209517
parent ed79f4d0
2014-04-18 Richard Henderson <rth@redhat.com>
* config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
to GET_MODE_SIZE, not a reg_class_t.
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
......
...@@ -4847,9 +4847,11 @@ aarch64_address_cost (rtx x ATTRIBUTE_UNUSED, ...@@ -4847,9 +4847,11 @@ aarch64_address_cost (rtx x ATTRIBUTE_UNUSED,
} }
static int static int
aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, aarch64_register_move_cost (enum machine_mode mode,
reg_class_t from, reg_class_t to) reg_class_t from_i, reg_class_t to_i)
{ {
enum reg_class from = (enum reg_class) from_i;
enum reg_class to = (enum reg_class) to_i;
const struct cpu_regmove_cost *regmove_cost const struct cpu_regmove_cost *regmove_cost
= aarch64_tune_params->regmove_cost; = aarch64_tune_params->regmove_cost;
...@@ -4875,8 +4877,7 @@ aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, ...@@ -4875,8 +4877,7 @@ aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
secondary reload. A general register is used as a scratch to move secondary reload. A general register is used as a scratch to move
the upper DI value and the lower DI value is moved directly, the upper DI value and the lower DI value is moved directly,
hence the cost is the sum of three moves. */ hence the cost is the sum of three moves. */
if (! TARGET_SIMD && GET_MODE_SIZE (mode) == 128)
if (! TARGET_SIMD && GET_MODE_SIZE (from) == 128 && GET_MODE_SIZE (to) == 128)
return regmove_cost->GP2FP + regmove_cost->FP2GP + regmove_cost->FP2FP; return regmove_cost->GP2FP + regmove_cost->FP2GP + regmove_cost->FP2FP;
return regmove_cost->FP2FP; return regmove_cost->FP2FP;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment