(push_secondary_reload): Do strip paradoxical SUBREG even if reload_class is CLASS_CANNOT_CHANGE_SIZE.

(push_secondary_reload): Do strip paradoxical SUBREG
even if reload_class is CLASS_CANNOT_CHANGE_SIZE.  Change reload_mode
to mode in SECONDARY_MEMORY_NEEDED and get_secondary_mem calls.

From-SVN: r12841
This commit is contained in:
Jim Wilson 1996-09-24 17:44:04 -07:00
parent befa01b9b7
commit f49e41275c
1 changed files with 4 additions and 7 deletions

View File

@ -361,9 +361,6 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
/* If X is a paradoxical SUBREG, use the inner value to determine both the
mode and object being reloaded. */
if (GET_CODE (x) == SUBREG
#ifdef CLASS_CANNOT_CHANGE_SIZE
&& reload_class != CLASS_CANNOT_CHANGE_SIZE
#endif
&& (GET_MODE_SIZE (GET_MODE (x))
> GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
{
@ -593,12 +590,12 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
set it up now. */
if (in_p && icode == CODE_FOR_nothing
&& SECONDARY_MEMORY_NEEDED (class, reload_class, reload_mode))
get_secondary_mem (x, reload_mode, opnum, type);
&& SECONDARY_MEMORY_NEEDED (class, reload_class, mode))
get_secondary_mem (x, mode, opnum, type);
if (! in_p && icode == CODE_FOR_nothing
&& SECONDARY_MEMORY_NEEDED (reload_class, class, reload_mode))
get_secondary_mem (x, reload_mode, opnum, type);
&& SECONDARY_MEMORY_NEEDED (reload_class, class, mode))
get_secondary_mem (x, mode, opnum, type);
#endif
}