https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100885
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #2) > > With avx512vl Yw should be matched, and w/o avx512bw, only SSE_REGS should > > be matched, why xmm16 is allocated? > > It didn't come from RA, but post_reload splitter. > > 18103(define_insn_and_split "*sse4_1_zero_extendv8qiv8hi2_3" > 18104 [(set (match_operand:V16QI 0 "register_operand" "=Yr,*x,v") > 18105 (vec_select:V16QI > 18106 (vec_concat:V32QI > 18107 (match_operand:V16QI 1 "vector_operand" "YrBm,*xBm,vm") > 18108 (match_operand:V16QI 2 "const0_operand" "C,C,C")) > 18109 (match_parallel 3 "pmovzx_parallel" > 18110 [(match_operand 4 "const_int_operand" "n,n,n")])))] > 18111 "TARGET_SSE4_1" Need to adjust the third constraint from (v, vm, C, n) to (Yw, Ywm, C, n)