https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113345
--- Comment #1 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- > > maybe we can just refactor the pattern as blow, then combine can generate > the pattern for us. > > 22115(define_insn "<ssse3_avx2>_psign<mode>3" > 22116 [(set (match_operand:VI124_AVX2 0 "register_operand" "=x,x") > 22117 (unspec:VI124_AVX2 > 22118 [(match_operand:VI124_AVX2 1 "register_operand" "0,x") > (neg:VI124:(match_dup 1) > 22119 (match_operand:VI124_AVX2 2 "vector_operand" "xja,xjm")] > 22120 UNSPEC_PBLENDV))] Not for VI2, but ok for VI14.