mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 08:30:28 +08:00
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
This commit is contained in:
parent
ed79f4d002
commit
8a3a7e67a1
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
|
||||
|
@ -4847,9 +4847,11 @@ aarch64_address_cost (rtx x ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
static int
|
||||
aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
reg_class_t from, reg_class_t to)
|
||||
aarch64_register_move_cost (enum machine_mode mode,
|
||||
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
|
||||
= aarch64_tune_params->regmove_cost;
|
||||
|
||||
@ -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
|
||||
the upper DI value and the lower DI value is moved directly,
|
||||
hence the cost is the sum of three moves. */
|
||||
|
||||
if (! TARGET_SIMD && GET_MODE_SIZE (from) == 128 && GET_MODE_SIZE (to) == 128)
|
||||
if (! TARGET_SIMD && GET_MODE_SIZE (mode) == 128)
|
||||
return regmove_cost->GP2FP + regmove_cost->FP2GP + regmove_cost->FP2FP;
|
||||
|
||||
return regmove_cost->FP2FP;
|
||||
|
Loading…
x
Reference in New Issue
Block a user