On Mon, Jul 27, 2020 at 11:09 AM Richard Sandiford
<richard.sandif...@arm.com> wrote:
>
> Richard Biener via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> > On Wed, Jul 22, 2020 at 5:18 PM Stefan Schulze Frielinghaus via
> > Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> >>
> >> This is a follow up to commit 5c9669a0e6c respectively discussion
> >> https://gcc.gnu.org/pipermail/gcc-patches/2020-June/549132.html
> >>
> >> In case that an alignment constraint is less than the size of a
> >> corresponding scalar type, ensure that we advance at least by one
> >> iteration.  For example, on s390x we have for a long double an alignment
> >> constraint of 8 bytes whereas the size is 16 bytes.  Therefore,
> >> TARGET_ALIGN / DR_SIZE equals zero resulting in an infinite loop which
> >> can be reproduced by the following MWE:
> >
> > But we guard this case with vector_alignment_reachable_p, so we shouldn't
> > have ended up here and the patch looks bogus.
>
> The above sounds like it ought to count as reachable alignment though.
> If a type requires a lower alignment than its size, then that's even
> more easily reachable than a type that requires the same alignment as
> the size.  I guess at one extreme, a target alignment of 1 is always
> reachable.

Well, if the element alignment is 8 but its size is 16 then when presumably
the desired vector alignment is a multiple of 16 we can never reach it.
Isn't this the case here?

Richard.

> Thanks,
> Richard

Reply via email to