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.

Thanks,
Richard

Reply via email to