From dad579c26b5d6831345bfc5ebb8137950c5dcd81 Mon Sep 17 00:00:00 2001 From: msaitoh Date: Thu, 18 Jan 2001 07:54:21 +0000 Subject: [PATCH] apply original gcc rev. 1.29: * Guard insn splits against illegal regsiters. --- gnu/dist/gcc/config/sh/sh.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/dist/gcc/config/sh/sh.md b/gnu/dist/gcc/config/sh/sh.md index 56e9e8c98ee5..ea4dee5976d7 100644 --- a/gnu/dist/gcc/config/sh/sh.md +++ b/gnu/dist/gcc/config/sh/sh.md @@ -2210,7 +2210,8 @@ FAIL; reg = XEXP (addr, 0); const_int = XEXP (addr, 1); - if (GET_CODE (reg) != REG || GET_CODE (const_int) != CONST_INT) + if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2]) + && GET_CODE (const_int) == CONST_INT)) FAIL; emit_move_insn (operands[2], const_int); emit_move_insn (operands[0], @@ -2236,7 +2237,8 @@ FAIL; reg = XEXP (addr, 0); const_int = XEXP (addr, 1); - if (GET_CODE (reg) != REG || GET_CODE (const_int) != CONST_INT) + if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2]) + && GET_CODE (const_int) == CONST_INT)) FAIL; emit_move_insn (operands[2], const_int); emit_move_insn (change_address (operands[1], VOIDmode,