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

--- Comment #10 from prathamesh3492 at gcc dot gnu.org ---
Author: prathamesh3492
Date: Fri Oct 18 05:13:26 2019
New Revision: 277141

URL: https://gcc.gnu.org/viewcvs?rev=277141&root=gcc&view=rev
Log:
2019-10-18  Prathamesh Kulkarni  <prathamesh.kulka...@linaro.org>
            Richard Sandiford  <richard.sandif...@arm.com>

        PR target/86753
        * tree-vectorizer.h (scalar_cond_masked_key): New struct,
        and define hashmap traits for it.
        (loop_vec_info::scalar_cond_masked_set): New member.
        (vect_record_loop_mask): Adjust prototype.
        * tree-vectorizer.c (scalar_cond_masked_key::get_cond_ops_from_tree):
        Implement method.
        * tree-vect-loop.c (vectorizable_reduction): Pass NULL as last arg to
        vect_record_loop_mask.
        (vectorizable_live_operation): Likewise.
        (vect_record_loop_mask): New param scalar_mask. Add entry
        cond, loop_mask to scalar_cond_masked_set if scalar_mask is non NULL.
        * tree-vect-stmts.c (check_load_store_masking): New param scalar_mask.
        Pass it as last arg to vect_record_loop_mask.
        (vectorizable_call): Pass scalar_mask as last arg to
        vect_record_loop_mask.
        (vectorizable_store): Likewise.
        (vectorizable_load): Likewise.
        (vectorizable_condition): Check if another part of vectorized code
        applies loop_mask to condition or to it's inverse, and if yes,
        apply loop_mask to result of vector comparison.

testsuite/
        * gcc.target/aarch64/sve/cond_cnot_2.c: Remove XFAIL
        from { scan-assembler-not {\tsel\t}.
        * gcc.target/aarch64/sve/cond_convert_1.c: Adjust to make
        only one load conditional.
        * gcc.target/aarch64/sve/cond_convert_4.c: Likewise.
        * gcc.target/aarch64/sve/cond_unary_2.c: Likewise.
        * gcc.target/aarch64/sve/vcond_4.c: Remove XFAIL's.
        * gcc.target/aarch64/sve/vcond_5.c: Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_2.c
    trunk/gcc/testsuite/gcc.target/aarch64/sve/cond_convert_1.c
    trunk/gcc/testsuite/gcc.target/aarch64/sve/cond_convert_4.c
    trunk/gcc/testsuite/gcc.target/aarch64/sve/cond_unary_2.c
    trunk/gcc/testsuite/gcc.target/aarch64/sve/vcond_4.c
    trunk/gcc/testsuite/gcc.target/aarch64/sve/vcond_5.c
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-stmts.c
    trunk/gcc/tree-vectorizer.c
    trunk/gcc/tree-vectorizer.h

Reply via email to