diff mbox series

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

Message ID 46699202ada6f2170f3a849c1c0f805d579422ce.1576511721.git.segher@kernel.crashing.org
State New
Headers show
Series rs6000: Use symbolic names for the CR fields in more cases | expand

Commit Message

Segher Boessenkool Dec. 16, 2019, 4:02 p.m. UTC
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.

Committing to trunk.


Segher


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.

---
 gcc/config/rs6000/rs6000.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 4c44c1f..4a6416e 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -13132,7 +13132,7 @@  (define_expand "movsi_to_cr_one"
         (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 @@  (define_insn "*mtcrfsi"
   "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")])