> Please be more specific though.  If you don't think the patch is correct,
> what do you think the requirement should be and how should it be integrated
> into the existing checks?

Good question, but I have asked it first. :-)

So what are the new subregs that we want to accept here?  Can someone write 
this down explicitly, I think that we cannot go ahead without that.

> E.g. the assert is there because the main calculation is based on:
> 
>   /* Size of ymode must not be greater than the size of xmode.  */
>   mode_multiple = GET_MODE_SIZE (xmode) / GET_MODE_SIZE (ymode);
>   gcc_assert (mode_multiple != 0);
> 
> which clearly isn't a useful value if the division isn't exact.
> Do you mean that, since mode_multiple isn't correct for the
> DI-of-a-CI case, we should reformulate the end of the function
> to avoid using mode_multiple at all?

Yes.

-- 
Eric Botcazou

Reply via email to