From dd6c17c55c9e57987107d2b60d3db1c7874416f1 Mon Sep 17 00:00:00 2001 From: dj Date: Wed, 9 Oct 2013 01:44:31 +0000 Subject: [PATCH] * config/rl78/rl78-expand.md (movqi): use operands[] not operandN. (movhi): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203300 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/config/rl78/rl78-expand.md | 42 +++++++++++++++++++++--------------------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d198cd4a79e..c22e57f599d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2013-10-08 DJ Delorie + * config/rl78/rl78-expand.md (movqi): use operands[] not operandN. + (movhi): Likewise. + * config/rl78/rl78.c (rl78_print_operand_1): Change %c to %C to avoid conflict with the MI use of %c. * config/rl78/rl78-real.md: change %c to %C throughout. diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md index fa5857ca69a..863037d7eda 100644 --- a/gcc/config/rl78/rl78-expand.md +++ b/gcc/config/rl78/rl78-expand.md @@ -25,25 +25,25 @@ (match_operand:QI 1 "general_operand"))] "" { - if (MEM_P (operand0) && MEM_P (operand1)) - operands[1] = copy_to_mode_reg (QImode, operand1); - if (rl78_far_p (operand0) && rl78_far_p (operand1)) - operands[1] = copy_to_mode_reg (QImode, operand1); + if (MEM_P (operands[0]) && MEM_P (operands[1])) + operands[1] = copy_to_mode_reg (QImode, operands[1]); + if (rl78_far_p (operands[0]) && rl78_far_p (operands[1])) + operands[1] = copy_to_mode_reg (QImode, operands[1]); /* FIXME: Not sure how GCC can generate (SUBREG (SYMBOL_REF)), but it does. Since this makes no sense, reject it here. */ - if (GET_CODE (operand1) == SUBREG - && GET_CODE (XEXP (operand1, 0)) == SYMBOL_REF) + if (GET_CODE (operands[1]) == SUBREG + && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF) FAIL; /* Similarly for (SUBREG (CONST (PLUS (SYMBOL_REF)))). cf. g++.dg/abi/packed.C. */ - if (GET_CODE (operand1) == SUBREG - && GET_CODE (XEXP (operand1, 0)) == CONST - && GET_CODE (XEXP (XEXP (operand1, 0), 0)) == PLUS - && GET_CODE (XEXP (XEXP (XEXP (operand1, 0), 0), 0)) == SYMBOL_REF) + if (GET_CODE (operands[1]) == SUBREG + && GET_CODE (XEXP (operands[1], 0)) == CONST + && GET_CODE (XEXP (XEXP (operands[1], 0), 0)) == PLUS + && GET_CODE (XEXP (XEXP (XEXP (operands[1], 0), 0), 0)) == SYMBOL_REF) FAIL; - if (CONST_INT_P (operand1) && ! IN_RANGE (INTVAL (operand1), (-1 << 8) + 1, (1 << 8) - 1)) + if (CONST_INT_P (operands[1]) && ! IN_RANGE (INTVAL (operands[1]), (-1 << 8) + 1, (1 << 8) - 1)) FAIL; } ) @@ -53,21 +53,21 @@ (match_operand:HI 1 "general_operand"))] "" { - if (MEM_P (operand0) && MEM_P (operand1)) - operands[1] = copy_to_mode_reg (HImode, operand1); - if (rl78_far_p (operand0) && rl78_far_p (operand1)) - operands[1] = copy_to_mode_reg (HImode, operand1); + if (MEM_P (operands[0]) && MEM_P (operands[1])) + operands[1] = copy_to_mode_reg (HImode, operands[1]); + if (rl78_far_p (operands[0]) && rl78_far_p (operands[1])) + operands[1] = copy_to_mode_reg (HImode, operands[1]); /* FIXME: Not sure how GCC can generate (SUBREG (SYMBOL_REF)), but it does. Since this makes no sense, reject it here. */ - if (GET_CODE (operand1) == SUBREG - && GET_CODE (XEXP (operand1, 0)) == SYMBOL_REF) + if (GET_CODE (operands[1]) == SUBREG + && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF) FAIL; /* Similarly for (SUBREG (CONST (PLUS (SYMBOL_REF)))). */ - if (GET_CODE (operand1) == SUBREG - && GET_CODE (XEXP (operand1, 0)) == CONST - && GET_CODE (XEXP (XEXP (operand1, 0), 0)) == PLUS - && GET_CODE (XEXP (XEXP (XEXP (operand1, 0), 0), 0)) == SYMBOL_REF) + if (GET_CODE (operands[1]) == SUBREG + && GET_CODE (XEXP (operands[1], 0)) == CONST + && GET_CODE (XEXP (XEXP (operands[1], 0), 0)) == PLUS + && GET_CODE (XEXP (XEXP (XEXP (operands[1], 0), 0), 0)) == SYMBOL_REF) FAIL; } ) -- 2.11.4.GIT