aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2001-02-08 15:09:05 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2001-02-08 15:09:05 +0000
commit0433762093b5eeef21ee4046da1248062e100b41 (patch)
treea6514e97dba141133c1805b26c5b77aae8fb407c /gcc/final.c
parent870eabc47efe784e0fbe1dde473e354aeecd7f05 (diff)
downloadgcc-0433762093b5eeef21ee4046da1248062e100b41.zip
gcc-0433762093b5eeef21ee4046da1248062e100b41.tar.gz
gcc-0433762093b5eeef21ee4046da1248062e100b41.tar.bz2
Eliminate SUBREGs inside MEMs.
From-SVN: r39538
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 3a2fc15..1fd30c28 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]);
}
}