https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119979

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>I haven't done a deep dive but it looks like we've dropped a zero extension on 
>mcore-elf at -O2 with this test:


The rules for mcore are:
#define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE)       \
  if (GET_MODE_CLASS (MODE) == MODE_INT         \
      && GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \
    {                                           \
      (MODE) = SImode;                          \
      (UNSIGNEDP) = 1;                          \
    }
#define TARGET_PROMOTE_FUNCTION_MODE  
default_promote_function_mode_always_promote

So dropping the zero extend inside t101_1mul is correct. based on those rules.
It is the otherside which looks to be wrong.

Reply via email to