(push_reload): Reload a SUBREG if paradoxical and class is

CLASS_CANNOT_CHANGE_SIZE.

From-SVN: r9207
This commit is contained in:
Richard Kenner 1995-03-18 16:58:30 -05:00
parent 64bf47a22d
commit 94bafba741
1 changed files with 6 additions and 0 deletions

View File

@ -800,6 +800,9 @@ push_reload (in, out, inloc, outloc, class,
and M1 is not the same size as M2. */
if (in != 0 && GET_CODE (in) == SUBREG
#ifdef CLASS_CANNOT_CHANGE_SIZE
&& class != CLASS_CANNOT_CHANGE_SIZE
#endif
&& (CONSTANT_P (SUBREG_REG (in))
|| GET_CODE (SUBREG_REG (in)) == PLUS
|| strict_low
@ -895,6 +898,9 @@ push_reload (in, out, inloc, outloc, class,
(except in the case of STRICT_LOW_PART,
and in that case the constraint should label it input-output.) */
if (out != 0 && GET_CODE (out) == SUBREG
#ifdef CLASS_CANNOT_CHANGE_SIZE
&& class != CLASS_CANNOT_CHANGE_SIZE
#endif
&& (CONSTANT_P (SUBREG_REG (out))
|| strict_low
|| (((GET_CODE (SUBREG_REG (out)) == REG