https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70012

--- Comment #3 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
It looks to me like vect_alignment_reachable is the wrong test to be using
here.  This is equivalent to vect_aligned_arrays || natural_alignment_32. 
vect_aligned_array is always 0 for powerpc*-*-*.  natural_alignment_32 is
always 1 for powerpc*-*-*, except for 64-bit Darwin.

I think the intent may be that peeling will occur for 64-bit Darwin, but
otherwise versioning for alignment will occur.  So I think that
vect_alignment_reachable should be replaced by ! natural_alignment_32, and !
vect_alignment_reachable should be replaced by natural_alignment_32.  I.e., for
whatever reason these tests appear to be backward.

This change should make the testcase succeed on ppc64 BE and LE, but the
success is misleading for P8 and P9, as we are no longer truly testing for
versioning on those.  So we probably still need to exclude models with
efficient support for unaligned vectors.

Reply via email to