rs6000: Use symbolic names for the CR fields in more cases

It turns out we still used hardcoded register numbers for the CR fields
in some cases, and they now use the wrong numbers since we renumbered
most of the registers.  So let's use the symbolic names, instead.


	* config/rs6000/rs6000.md (movsi_to_cr_one): Use CR0_REGNO instead of
	hardcoding the (old, expired) register number.
	(*mtcrfsi): Ditto.

From-SVN: r279443
This commit is contained in:
Segher Boessenkool 2019-12-16 17:06:17 +01:00 committed by Segher Boessenkool
parent e8aa9f55f6
commit bb03700c9b
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2019-12-16 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (movsi_to_cr_one): Use CR0_REGNO instead of
hardcoding the (old, expired) register number.
(*mtcrfsi): Ditto.
2019-12-16 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* config.gcc: s/msp430*-*-*/msp430-*-*.

View File

@ -13132,7 +13132,7 @@
(unspec:CC [(match_operand:SI 1 "gpc_reg_operand")
(match_dup 2)] UNSPEC_MOVESI_TO_CR))]
""
"operands[2] = GEN_INT (1 << (75 - REGNO (operands[0])));")
"operands[2] = GEN_INT (1 << (7 - (REGNO (operands[0]) - CR0_REGNO)));")
(define_insn "*movsi_to_cr"
[(match_parallel 0 "mtcrf_operation"
@ -13159,7 +13159,7 @@
"REG_P (operands[0])
&& CR_REGNO_P (REGNO (operands[0]))
&& CONST_INT_P (operands[2])
&& INTVAL (operands[2]) == 1 << (75 - REGNO (operands[0]))"
&& INTVAL (operands[2]) == 1 << (7 - (REGNO (operands[0]) - CR0_REGNO))"
"mtcrf %R0,%1"
[(set_attr "type" "mtcr")])