Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * recog.c (validate_replace_rtx): Replace in operands of
+ ZERO_EXTRACT in SET_DEST.
+
* cse.c (new_label_ref): New variable.
(insert): Set it instead of recorded_label_ref.
(cse_basic_block): Set recorded_label_ref if new_label_ref use, has
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)
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 ();
}
\f