This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[autovect] unknown alignment and loop peeling


Hello,


This patch adds target to handle unknown alignment. It does not add runtime test yet. Many vectorizer tests fail for platforms that do not define this new target hook. These tests rely on unknown, but safe for peeling, alignment. This patch includes target hook for powerpc-apple-darwin.



* targhooks.h (vector_alignment_reachable): New. * target.h (gcc_target): Add vector_alignment_reachable. * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New. * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Avoid peeling when natural alignment is not reachable due to known misalignment. Use target hook to check unknown alignment. * config/rs6000.c (TARGET_VECTOR_ALIGNMENT_REACHABLE, rs6000_vector_alignment_reachable): New.

        * gcc.dg/vect/vect-align-1.c: New.
        * gcc.dg/vect/vect-align-2.c: New.

thoughts?
-
Devang

Attachment: av_unknown_align_peel.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]