On Mon, May 25, 2020 at 7:53 AM Hongtao Liu <crazy...@gmail.com> wrote:

> > We have to introduce a new expander, that will have conforming mode of
> > output operand (V2SF) and will produce RTX that will match
> > *float<floatunssuffix>v2div2sf2. A paradoxical output subreg from
> > V2SFmode V4SFmode is needed, generated by simplify_gen_subreg as is
> > the case with paradoxical input subreg.
>
> Problem`is simplify_gen_subreg (V4SFmode, operands[0], V2SFmode, 0)
> will return NULL since
> ----
> 948  /* Subregs involving floating point modes are not allowed to
> 949     change size.  Therefore (subreg:DI (reg:DF) 0) is fine, but
> 950     (subreg:SI (reg:DF) 0) isn't.  */

But, we are not changing size, we are still operating with SFmode. It
looks to me that this limitation is too strict, the intention is to
not expand scalar SFmode to DFmode.

Let's ask experts.

Uros.

Reply via email to