This is the mail archive of the 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]

[patch, vectorizer] misaligned store support


This is an old patch written by Leehod Baruch which extends the vectorizer
to support misaligned stores.
It was previously posted to the mailing list  by Dorit in the following
(This posting also contains detailed explanation on the patch)

Bootstrapped with vectorization enabled on powerpc64 and
regtested on x86_64.

OK for mainline?



        * expr.c (expand_assignment): Expand MISALIGNED_INDIRECT_REF.
        (expand_expr_real_1): Remove comment.
        * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
        Vectorize misaligned access when the target supports it.
        (vect_supportable_dr_alignment): Check for unaligned access
        * tree-vect-stmts.c (vectorizable_store): Generate misaligned store
        and remove asset.

testsuite Changelog:

        * lib/target-supports.exp:
        (check_effective_target_vect_hw_misalign): New procedure.
        * gcc.dg/vect/vect-50.c: Change checks to use vect_hw_misalign.
        * gcc.dg/vect/vect-33.c: Likewise.
        * gcc.dg/vect/vect-92.c: Likewise.
        * gcc.dg/vect/vect-58.c: Likewise.
        * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
        * gcc.dg/vect/vect-42.c: Likewise.
        * gcc.dg/vect/slp-25.c: Likewise.
        * gcc.dg/vect/vect-align-1.c: Likewise.
        * gcc.dg/vect/vect-align-2.c: Likewise.
        * gcc.dg/vect/vect-93.c: Likewise.
        * gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
        * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
        * gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
        * gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
        * gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
        * gcc.dg/vect/vect-26.c: Likewise.
        * gcc.dg/vect/vect-44.c: Likewise.
        * gcc.dg/vect/vect-70.c: Likewise.
        * gcc.dg/vect/vect-95.c: Likewise.
        * gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
        * gcc.dg/vect/vect-28.c: Likewise.
        * gcc.dg/vect/no-section-anchors-vect-31.c: Likewise.
        * gcc.dg/vect/vect-87.c: Likewise.
        * gcc.dg/vect/vect-109.c: Likewise.
        * gcc.dg/vect/vect-54.c: Likewise.
        * gcc.dg/vect/vect-96.c: Likewise.
        * gcc.dg/vect/vect-multitypes-1.c: Likewise.
        * gcc.dg/vect/vect-88.c: Likewise.
        * gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
        * gcc.dg/vect/vect-89.c: Likewise.
        * gcc.dg/vect/vect-91.c: Likewise.
        * gcc.dg/vect/no-section-anchors-vect-68.c: Likewise.
        * gcc.dg/vect/vect-multitypes-4.c: Likewise.
        * gfortran.dg/vect/vect-2.f90: Likewise.
        * gfortran.dg/vect/vect-3.f90: Likewise.
        * gfortran.dg/vect/vect-4.f90: Likewise.
        * gfortran.dg/vect/vect-5.f90: Likewise.

(See attached file: testsuite_misalign_store_patch_5_6.txt)(See attached
file: misalign_store_patch_4_6.txt)

Attachment: testsuite_misalign_store_patch_5_6.txt
Description: Text document

Attachment: misalign_store_patch_4_6.txt
Description: Text document

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