diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5760eece241..0ed63877471 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-05-03 Richard Henderson + + PR middle-end/21318 + * function.c (instantiate_virtual_regs_in_insn): Use the mode + from recog_data instead of insn_data. + 2005-05-03 DJ Delorie * common.opt (fdiagnostics-show-option): No variable is needed. diff --git a/gcc/function.c b/gcc/function.c index 065c1244e9d..6bc33442d7b 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1485,8 +1485,8 @@ instantiate_virtual_regs_in_insn (rtx insn) end_sequence (); emit_insn_before (seq, insn); } - x = simplify_gen_subreg (insn_data[insn_code].operand[i].mode, - new, GET_MODE (new), SUBREG_BYTE (x)); + x = simplify_gen_subreg (recog_data.operand_mode[i], new, + GET_MODE (new), SUBREG_BYTE (x)); break; default: