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

--- Comment #12 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:a795a7b67027bc976a353b5fa927ac8c5f29347d

commit r14-10152-ga795a7b67027bc976a353b5fa927ac8c5f29347d
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Apr 30 10:11:47 2024 +0200

    vect: Adjust vect_transform_reduction assertion [PR114883]

    The assertion doesn't allow IFN_COND_MIN/IFN_COND_MAX, which are
    commutative conditional binary operations like ADD/MUL/AND/IOR/XOR,
    and can be handled just fine.
    In particular, we emit
            vminpd  %zmm3, %zmm5, %zmm0{%k2}
            vminpd  %zmm0, %zmm3, %zmm5{%k1}
    and
            vmaxpd  %zmm3, %zmm5, %zmm0{%k2}
            vmaxpd  %zmm0, %zmm3, %zmm5{%k1}
    in the vectorized loops of the first and second subroutine.

    2024-04-30  Jakub Jelinek  <ja...@redhat.com>
                Hongtao Liu  <hongtao....@intel.com>

            PR tree-optimization/114883
            * tree-vect-loop.cc (vect_transform_reduction): Allow IFN_COND_MIN
and
            IFN_COND_MAX in the assert.

            * gfortran.dg/pr114883.f90: New test.

    (cherry picked from commit 04ef92a62af3a815b86a2037267cd4e747ae225c)

Reply via email to