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
+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-*-*.
(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"
"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")])