@@ -3891,7 +3891,8 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
/* Any constants that aren't allowed and can't be reloaded
into registers are here changed into memory references. */
for (i = 0; i < noperands; i++)
- if (! goal_alternative_win[i])
+ if (! goal_alternative_win[i]
+ && ! recog_data.is_operator[i])
{
rtx op = recog_data.operand[i];
rtx subreg = NULL_RTX;
@@ -3954,7 +3955,8 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
/* Now record reloads for all the operands that need them. */
for (i = 0; i < noperands; i++)
- if (! goal_alternative_win[i])
+ if (! goal_alternative_win[i]
+ && ! recog_data.is_operator[i])
{
/* Operands that match previous ones have already been handled. */
if (goal_alternative_matches[i] >= 0)