when matching output reloads for setting reload_when_needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3670
138bc75d-0d04-0410-961f-
82ee72b054a4
{
/* But earlyclobber operands must stay as RELOAD_OTHER. */
for (i = 0; i < n_earlyclobbers; i++)
- if (rtx_equal_p (reload_out[j], reload_earlyclobbers[i]))
- break;
+ {
+ if (GET_CODE (reload_earlyclobbers[i]) == SUBREG
+ && reg_overlap_mentioned_for_reload_p (reload_out[j],
+ SUBREG_REG (reload_earlyclobbers[i])))
+ break;
+ if (rtx_equal_p (reload_out[j], reload_earlyclobbers[i]))
+ break;
+ }
if (i == n_earlyclobbers)
reload_when_needed[j] = RELOAD_FOR_OUTPUT;
}