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