S/390: Increase register move costs for CC_REGS

This increases the move costs for moves involving the CC
register which saves us some instructions in SPEC CPU2006.

gcc/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/s390.c (s390_register_move_cost): Increase costs for
        moves involving the CC reg.

From-SVN: r265814
This commit is contained in:
Robin Dapp 2018-11-05 16:42:43 +00:00 committed by Robin Dapp
parent d64d068c6a
commit b14dfa94a8
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2018-11-05 Robin Dapp <rdapp@linux.ibm.com>
* config/s390/s390.c (s390_register_move_cost): Increase costs for
moves involving the CC reg.
2018-11-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/87873

View File

@ -3416,6 +3416,11 @@ s390_register_move_cost (machine_mode mode,
&& reg_classes_intersect_p (to, GENERAL_REGS)))
return 10;
/* We usually do not want to copy via CC. */
if (reg_classes_intersect_p (from, CC_REGS)
|| reg_classes_intersect_p (to, CC_REGS))
return 5;
return 1;
}