daniel.tian wrote:

> But I have already defined the PROMOTE_MODE which will convert all the
> QImode, HImode to SImode in computation.

  ?  That's not what the code you posted says:

> PROMOTE_MODE, stolen from mips, is defined in my port:
> #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE)     \
>  if (GET_MODE_CLASS (MODE) == MODE_INT         \
>      && GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \
>    {                                           \
>      (MODE) = Pmode;                           \
>    }

  The docs for PROMOTE_MODE suggest using `word_mode'; it may be that on mips,
Pmode and word_mode are the same, but they aren't on your machine?

> And the RTL mentioned, including
> " SUBREG " should not exist after reload. Now all the instructions
> pattern, which modes are smaller than SImode, formed in SUBREG.

  Is one of your MD macros not handling the post-reload REG_OK_STRICT macro
correctly perhaps?

    cheers,
      DaveK


Reply via email to