summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-31 08:42:26 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-31 08:42:26 +0000
commit3449c700fe76ebd93a6f0a773b023e1fe095fb6e (patch)
tree64ff496cc3536f206a0c8c27e8f4f148211a9e25 /gcc/recog.c
parent9e0e0e3411e2dfcbde28a8b58e79c4648b9e8068 (diff)
downloadgcc-3449c700fe76ebd93a6f0a773b023e1fe095fb6e.tar.gz
* recog.c (extract_insn): Set operand_mode according to
operand if match_operand is VOIDmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35369 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c3
1 files changed, 3 insertions, 0 deletions
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++)