On 11/03/2017 10:20 AM, Richard Sandiford wrote:
> This patch adds a target selector that says whether we can ever
> generate an "unaligned" accesses, where "unaligned" is relative
> to the target's preferred vector alignment.  This is already true if:
> 
>    vect_no_align && { ! vect_hw_misalign }
> 
> i.e. if the target doesn't have any alignment mechanism and also
> doesn't allow unaligned accesses.  It is also true (for the things
> tested by gcc.dg/vect) if the target only wants things to be aligned
> to an element; in that case every normal scalar access is "vector aligned".
> 
> 
> 2017-11-03  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * doc/sourcebuild.texi (vect_unaligned_possible): Document.
> 
> gcc/testsuite/
>       * lib/target-supports.exp
>       (check_effective_target_vect_unaligned_possible): New proc.
>       * gcc.dg/vect/slp-25.c: Extend XFAIL of peeling for alignment from
>       vect_no_align && { ! vect_hw_misalign } to ! vect_unaligned_possible.
>       * gcc.dg/vect/vect-multitypes-1.c: Likewise.
>       * gcc.dg/vect/vect-109.c: XFAIL vectorisation of an unaligned
>       access to ! vect_unaligned_possible.
>       * gcc.dg/vect/vect-33.c: Likewise.
>       * gcc.dg/vect/vect-42.c: Likewise.
>       * gcc.dg/vect/vect-56.c: Likewise.
>       * gcc.dg/vect/vect-60.c: Likewise.
>       * gcc.dg/vect/vect-96.c: Likewise.
>       * gcc.dg/vect/vect-peel-1.c: Likewise.
>       * gcc.dg/vect/vect-27.c: Extend XFAIL of unaligned vectorization from
>       vect_no_align && { ! vect_hw_misalign } to ! vect_unaligned_possible.
>       * gcc.dg/vect/vect-29.c: Likewise.
>       * gcc.dg/vect/vect-44.c: Likewise.
>       * gcc.dg/vect/vect-48.c: Likewise.
>       * gcc.dg/vect/vect-50.c: Likewise.
>       * gcc.dg/vect/vect-52.c: Likewise.
>       * gcc.dg/vect/vect-72.c: Likewise.
>       * gcc.dg/vect/vect-75-big-array.c: Likewise.
>       * gcc.dg/vect/vect-75.c: Likewise.
>       * gcc.dg/vect/vect-77-alignchecks.c: Likewise.
>       * gcc.dg/vect/vect-77-global.c: Likewise.
>       * gcc.dg/vect/vect-78-alignchecks.c: Likewise.
>       * gcc.dg/vect/vect-78-global.c: Likewise.
>       * gcc.dg/vect/vect-multitypes-3.c: Likewise.
>       * gcc.dg/vect/vect-multitypes-4.c: Likewise.
>       * gcc.dg/vect/vect-multitypes-6.c: Likewise.
>       * gcc.dg/vect/vect-peel-4.c: Likewise.
>       * gcc.dg/vect/vect-peel-3.c: Likewise, and also for peeling
>       for alignment.
OK.  Though I could see a need to one day provide a more concrete test
than "in some circumstances".

jeff

Reply via email to