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]

[patch, vectorizer] misaligned store support


Hello,

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
mail-
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00604.html
(This posting also contains detailed explanation on the patch)

Bootstrapped with vectorization enabled on powerpc64 and
regtested on x86_64.

OK for mainline?

Thanks,
Revital

Changelog:

        * 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
support.
        * 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]