On May 25, 2020 8:12:12 AM GMT+02:00, Uros Bizjak <ubiz...@gmail.com> wrote: >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.
I guess so. The test probably wants to tes the component mode. >Let's ask experts. > >Uros.