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)