From e7adb6fbb7b14b5650746828ee8d6f81b7a0259b Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 31 Jul 2000 08:42:26 +0000 Subject: [PATCH] recog.c (extract_insn): Set operand_mode according to operand if match_operand is VOIDmode. * recog.c (extract_insn): Set operand_mode according to operand if match_operand is VOIDmode. From-SVN: r35369 --- gcc/ChangeLog | 7 ++++++- gcc/recog.c | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4904cd3ff40..9e289d5720f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka +Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka + + * recog.c (extract_insn): Set operand_mode according to + operand if match_operand is VOIDmode. + +Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression. diff --git a/gcc/recog.c b/gcc/recog.c index 746c0f9b612..9e7b9fa9bc0 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2076,6 +2076,9 @@ extract_insn (insn) { recog_data.constraints[i] = insn_data[icode].operand[i].constraint; recog_data.operand_mode[i] = insn_data[icode].operand[i].mode; + /* VOIDmode match_operands gets mode from their real operand. */ + if (recog_data.operand_mode[i] == VOIDmode) + recog_data.operand_mode[i] = GET_MODE (recog_data.operand[i]); } } for (i = 0; i < noperands; i++)