> 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