actually sign-extending CONST_INTs in expand_binop

Joern Rennecke
Tue Apr 24 05:38:00 GMT 2001

> On Apr 24, 2001, Joern Rennecke <> wrote:
> > ! 	 When we have an extending integer operation, e.g. umulhisi,
> > ! 	 we have to pass MODE (which is wider) as the previous mode.
> Why?  Aren't the operands supposed to be valid HImode values already?

They were originally used in a SImode multiply.
> > ! 	 However, we must not do this if MODE is not a MODE_INT mode,
> > ! 	 since then the operation becomes nonsentical - fall back to the
> > ! 	 MODE0 / MODE1 no-op then.  */
> Is there any case in which we get to that point with mode0 != mode
> such that they aren't integer modes?

I was thinking about stuff like floatsisf.  Well, that's not actually
a inary operator.  Don't know if there is one that fulfills these conditons.

More information about the Gcc-patches mailing list