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

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

https://gcc.gnu.org/g:9b6bf076c11cba0f9ccdace63e8b4044b1a858ea

commit r13-7234-g9b6bf076c11cba0f9ccdace63e8b4044b1a858ea
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sat Apr 22 10:24:29 2023 +0200

    match.pd: Fix fneg/fadd optimization [PR109583]

    The following testcase ICEs on x86, foo function since my r14-22
    improvement, but bar already since r13-4122.  The problem is the same,
    in the if expression related_vector_mode is called and that starts with
      gcc_assert (VECTOR_MODE_P (vector_mode));
    but nothing in the fneg/fadd match.pd pattern actually checks if the
    VEC_PERM type has VECTOR_MODE_P (vec_mode).  In this case it has BLKmode
    and so it ICEs.

    The following patch makes sure we don't ICE on it.

    2023-04-22  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/109583
            * match.pd (fneg/fadd simplify): Don't call related_vector_mode
            if vec_mode is not VECTOR_MODE_P.

            * gcc.dg/pr109583.c: New test.

    (cherry picked from commit c58c0771b7a3dbd2a00cd4b6ca2301d74b6cd4e2)

Reply via email to