2014-09-12 Wilco Dijkstra <wdijkstr@arm.com>
* gcc/config/aarch64/aarch64.c (aarch64_register_move_cost): Add cost handling
of CALLER_SAVE_REGS and POINTER_REGS.
From-SVN: r215206
+2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_register_move_cost): Add cost
+ handling of CALLER_SAVE_REGS and POINTER_REGS.
+
2014-09-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
* gcc/ree.c (combine_reaching_defs): Ensure inserted copy don't change
const struct cpu_regmove_cost *regmove_cost
= aarch64_tune_params->regmove_cost;
+ /* Caller save and pointer regs are equivalent to GENERAL_REGS. */
+ if (to == CALLER_SAVE_REGS || to == POINTER_REGS)
+ to = GENERAL_REGS;
+
+ if (from == CALLER_SAVE_REGS || from == POINTER_REGS)
+ from = GENERAL_REGS;
+
/* Moving between GPR and stack cost is the same as GP2GP. */
if ((from == GENERAL_REGS && to == STACK_REG)
|| (to == GENERAL_REGS && from == STACK_REG))