https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106963
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>: https://gcc.gnu.org/g:eddbb81f1254f025d6f1b6b8e7554aa9a3830302 commit r13-2754-geddbb81f1254f025d6f1b6b8e7554aa9a3830302 Author: liuhongt <hongtao....@intel.com> Date: Tue Sep 20 13:22:28 2022 +0800 Don't check can_vec_perm_const_p for nonlinear iv_init when it's constant. When init_expr is INTEGER_CST or REAL_CST, can_vec_perm_const_p is not necessary since there's no real vec_perm needed, but vec_gen_perm_mask_checked will gcc_assert (can_vec_perm_const_p). So it's better to use vec_gen_perm_mask_any in vect_create_nonlinear_iv_init. gcc/ChangeLog: PR tree-optimization/106963 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use vec_gen_perm_mask_any instead of vec_gen_perm_mask_check. gcc/testsuite/ChangeLog: * gcc.target/i386/pr106963.c: New test.