This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: actually sign-extending CONST_INTs in expand_binop
- To: aoliva at redhat dot com (Alexandre Oliva)
- Subject: Re: actually sign-extending CONST_INTs in expand_binop
- From: Joern Rennecke <amylaar at cambridge dot redhat dot com>
- Date: Tue, 24 Apr 2001 13:37:43 +0100 (BST)
- Cc: amylaar at cambridge dot redhat dot com (Joern Rennecke),gcc-patches at gcc dot gnu dot org
> On Apr 24, 2001, Joern Rennecke <amylaar@cambridge.redhat.com> 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.