diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-16 19:14:09 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-16 19:14:09 +0000 |
commit | 38417d3ec669bf401d61514a71b729f9d676f44d (patch) | |
tree | 7858ab0ea19963f5377cd4cabd181a6f4bba68d0 /gcc/recog.c | |
parent | 886db01229b246634281b53584a0de20809e18a6 (diff) | |
download | gcc-38417d3ec669bf401d61514a71b729f9d676f44d.tar.gz |
* recog.c (validate_replace_rtx): Replace in operands of
ZERO_EXTRACT in SET_DEST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39773 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 4dab907c848..f778f60c509 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -732,8 +732,7 @@ validate_replace_rtx (from, to, insn) return apply_change_group (); } -/* Try replacing every occurrence of FROM in INSN with TO. After all - changes have been made, validate by seeing if INSN is still valid. */ +/* Try replacing every occurrence of FROM in INSN with TO. */ void validate_replace_rtx_group (from, to, insn) @@ -758,6 +757,14 @@ validate_replace_src (from, to, insn) if (GET_CODE (SET_DEST (PATTERN (insn))) == MEM) validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 0), from, to, insn); + else if (GET_CODE (SET_DEST (PATTERN (insn))) == ZERO_EXTRACT) + { + validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 1), + from, to, insn); + validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 2), + from, to, insn); + } + return apply_change_group (); } |