https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101248
--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #0) > currently the pattern is defined as > > (define_insn "avx512f_sfixupimm<mode>_mask<round_saeonly_name>" > [(set (match_operand:VF_128 0 "register_operand" "=v") > (vec_merge:VF_128 > (vec_merge:VF_128 > (unspec:VF_128 > [(match_operand:VF_128 1 "register_operand" "0") > (match_operand:VF_128 2 "register_operand" "v") > (match_operand:<sseintvecmode> 3 > "<round_saeonly_nimm_scalar_predicate>" > "<round_saeonly_constraint>") > (match_operand:SI 4 "const_0_to_255_operand")] > UNSPEC_FIXUPIMM) > (match_dup 2) The is refined pattern, original pattern has match_dup 1 here.