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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <li...@gcc.gnu.org>:

https://gcc.gnu.org/g:8d689cf43b501a2f5c077389adbb6d2bfa530ca9

commit r10-7415-g8d689cf43b501a2f5c077389adbb6d2bfa530ca9
Author: Kewen Lin <li...@linux.ibm.com>
Date:   Fri Mar 27 04:51:12 2020 -0500

    Fix PR90332 by extending half size vector mode

    As PR90332 shows, the current scalar epilogue peeling for gaps
    elimination requires expected vec_init optab with two half size
    vector mode.  On Power, we don't support vector mode like V8QI,
    so can't support optab like vec_initv16qiv8qi.  But we want to
    leverage existing scalar mode like DI to init the desirable
    vector mode.  This patch is to extend the existing support for
    Power, as evaluated on Power9 we can see expected 1.9% speed up
    on SPEC2017 525.x264_r.

    As Richi suggested, add one function vector_vector_composition_type
    to refactor existing related codes and also make use of it further.

    Bootstrapped/regtested on powerpc64le-linux-gnu (LE) P8 and P9,
    as well as x86_64-redhat-linux.

    gcc/ChangeLog

    2020-03-27  Kewen Lin  <li...@gcc.gnu.org>

        PR tree-optimization/90332
        * tree-vect-stmts.c (vector_vector_composition_type): New function.
        (get_group_load_store_type): Adjust to call
vector_vector_composition_type,
        extend it to construct with scalar types.
        (vectorizable_load): Likewise.

Reply via email to