combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a (subreg:X (reg:Y...
* combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a (subreg:X (reg:Y ...)). From-SVN: r34217
This commit is contained in:
parent
f624ffa71f
commit
ed8afe3ab0
2 changed files with 17 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2000-05-27 Geoff Keating <geoffk@cygnus.com>
|
||||||
|
|
||||||
|
* combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
|
||||||
|
substituting the REG in a (subreg:X (reg:Y ...)).
|
||||||
|
|
||||||
2000-05-28 Neil Booth <NeilB@earthling.net>
|
2000-05-28 Neil Booth <NeilB@earthling.net>
|
||||||
|
|
||||||
* cpplex.c (_cpp_lex_line): Merge vertical space. Flag
|
* cpplex.c (_cpp_lex_line): Merge vertical space. Flag
|
||||||
|
|
|
@ -3400,6 +3400,18 @@ subst (x, from, to, in_dest, unique_copy)
|
||||||
)
|
)
|
||||||
return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
|
return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
|
||||||
|
|
||||||
|
#ifdef CLASS_CANNOT_CHANGE_SIZE
|
||||||
|
if (code == SUBREG
|
||||||
|
&& GET_CODE (to) == REG
|
||||||
|
&& REGNO (to) < FIRST_PSEUDO_REGISTER
|
||||||
|
&& (TEST_HARD_REG_BIT
|
||||||
|
(reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE],
|
||||||
|
REGNO (to)))
|
||||||
|
&& (GET_MODE_BITSIZE (GET_MODE (to))
|
||||||
|
!= GET_MODE_BITSIZE (GET_MODE (x))))
|
||||||
|
return gen_rtx_CLOBBER (VOIDmode, const0_rtx);
|
||||||
|
#endif
|
||||||
|
|
||||||
new = (unique_copy && n_occurrences ? copy_rtx (to) : to);
|
new = (unique_copy && n_occurrences ? copy_rtx (to) : to);
|
||||||
n_occurrences++;
|
n_occurrences++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue