]> git.ipfire.org Git - thirdparty/gcc.git/commit
Don't check can_vec_perm_const_p for nonlinear iv_init when it's constant.
authorliuhongt <hongtao.liu@intel.com>
Tue, 20 Sep 2022 05:22:28 +0000 (13:22 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 21 Sep 2022 07:47:40 +0000 (15:47 +0800)
commiteddbb81f1254f025d6f1b6b8e7554aa9a3830302
treeea3ffbd47d9f494816bfbd1d28f317216bd5f5d3
parent9c23fe08c1fcee524503b24e15321b20df136f6c
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.
gcc/testsuite/gcc.target/i386/pr106963.c [new file with mode: 0644]
gcc/tree-vect-loop.cc