diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7fcf7c719b..e9100ce5ff6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-02-08 Bernd Schmidt + + * final.c (cleanup_subreg_operands): The address of a MEM can + contain SUBREGs. + 2001-02-08 Joseph S. Myers * gcc.texi (Incompatibilities): Update documentation of diff --git a/gcc/final.c b/gcc/final.c index 3a2fc1537c5..1fd30c2847d 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3119,7 +3119,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (recog_data.operand[i]) == SUBREG) recog_data.operand[i] = alter_subreg (recog_data.operand[i]); else if (GET_CODE (recog_data.operand[i]) == PLUS - || GET_CODE (recog_data.operand[i]) == MULT) + || GET_CODE (recog_data.operand[i]) == MULT + || GET_CODE (recog_data.operand[i]) == MEM) recog_data.operand[i] = walk_alter_subreg (recog_data.operand[i]); } @@ -3128,7 +3129,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (*recog_data.dup_loc[i]) == SUBREG) *recog_data.dup_loc[i] = alter_subreg (*recog_data.dup_loc[i]); else if (GET_CODE (*recog_data.dup_loc[i]) == PLUS - || GET_CODE (*recog_data.dup_loc[i]) == MULT) + || GET_CODE (*recog_data.dup_loc[i]) == MULT + || GET_CODE (*recog_data.dup_loc[i]) == MEM) *recog_data.dup_loc[i] = walk_alter_subreg (*recog_data.dup_loc[i]); } }