diff --git a/gcc/recog.cc b/gcc/recog.cc index 92f151248a64f1bd581cbf18225e99b3eaeaaf6b..e12b4c9500e3323ceb5675d9aa4263573b0b6a18 100644 --- a/gcc/recog.cc +++ b/gcc/recog.cc @@ -3080,13 +3080,6 @@ constrain_operands (int strict, alternative_mask alternatives) earlyclobber[opno] = 0; - /* A unary operator may be accepted by the predicate, but it - is irrelevant for matching constraints. */ - /* For special_memory_operand, there could be a memory operand inside, - and it would cause a mismatch for constraint_satisfied_p. */ - if (UNARY_P (op) && op == extract_mem_from_operand (op)) - op = XEXP (op, 0); - if (GET_CODE (op) == SUBREG) { if (REG_P (SUBREG_REG (op)) @@ -3152,14 +3145,6 @@ constrain_operands (int strict, alternative_mask alternatives) { rtx op1 = recog_data.operand[match]; rtx op2 = recog_data.operand[opno]; - - /* A unary operator may be accepted by the predicate, - but it is irrelevant for matching constraints. */ - if (UNARY_P (op1)) - op1 = XEXP (op1, 0); - if (UNARY_P (op2)) - op2 = XEXP (op2, 0); - val = operands_match_p (op1, op2); } diff --git a/gcc/reload.cc b/gcc/reload.cc index 2e57ebb3cac6c068804fe309d38009e2a24d8283..07256b6cf2f728551f550824eb2af803ab612297 100644 --- a/gcc/reload.cc +++ b/gcc/reload.cc @@ -3077,12 +3077,6 @@ find_reloads (rtx_insn *insn, int replace, int ind_levels, int live_known, enum constraint_num cn; enum reg_class cl; - /* If the predicate accepts a unary operator, it means that - we need to reload the operand, but do not do this for - match_operator and friends. */ - if (UNARY_P (operand) && *p != 0) - operand = XEXP (operand, 0); - /* If the operand is a SUBREG, extract the REG or MEM (or maybe even a constant) within. (Constants can occur as a result of reg_equiv_constant.) */