https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94866
Hongtao.liu <crazylht at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |crazylht at gmail dot com
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> ---
in x86 backend expand_vec_perm_1, we always tries vec_merge frist for
!one_operand_p, expand_vselect_vconcat is only tried when vec_merge failed
which means we'd better to use vec_merge instead of vec_select:vec_concat when
available in out backend pattern match.
Also for the view of avx512 kmask instructions, use vec_merge will help
constant propagation.
20107 /* Try the SSE4.1 blend variable merge instructions. */
20108 if (expand_vec_perm_blend (d))
20109 return true;
20110
20111 /* Try movss/movsd instructions. */
20112 if (expand_vec_perm_movs (d))
20113 return true;