diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-28 20:39:51 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-28 20:39:51 +0000 |
commit | 2c100e2d442d2d4bc0123cf763232ee25bb02448 (patch) | |
tree | 50180b05801197bfa9bc9a38cc835db1fcc811d2 /gcc/regclass.c | |
parent | be66be5b40542d4463180404adb2ccefee421029 (diff) | |
download | gcc-2c100e2d442d2d4bc0123cf763232ee25bb02448.tar.gz |
* regclass.c (record_operand_costs): Protect reg_changes_size
with CLASS_CANNOT_CHANGE_SIZE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34238 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r-- | gcc/regclass.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c index 6a741a64b4b..3db64a2244d 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -859,9 +859,11 @@ record_operand_costs (insn, op_costs, reg_pref) if (GET_CODE (recog_data.operand[i]) == SUBREG) { rtx inner = SUBREG_REG (recog_data.operand[i]); +#ifdef CLASS_CANNOT_CHANGE_SIZE if (GET_MODE_SIZE (modes[i]) != GET_MODE_SIZE (GET_MODE (inner)) && GET_CODE (inner) == REG) SET_REGNO_REG_SET (reg_changes_size, REGNO (inner)); +#endif recog_data.operand[i] = inner; } |