https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110227
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Andrew Pinski from comment #2) > Semi-Reduced testcase: > ``` > #include <immintrin.h> > > void f() > { > __m256i mask = _mm256_set_epi32(0, 0, 0, 0, -1, -1, -1, -1); > register __m256i reg asm("xmm16") = mask; > asm(""::"v"(reg)); > } > ``` > > Most likely introduced by r13-2804-ga282f086ef26d9 . (define_insn "mov<mode>_internal" [(set (match_operand:VMOVE 0 "nonimmediate_operand" - "=v,v ,v ,m") + "=v,v ,v,v ,m") (match_operand:VMOVE 1 "nonimmediate_or_sse_const_operand" - " C,<sseconstm1>,vm,v"))] + " C,<sseconstm1>,BH,vm,v"))] We need to use "x" instead of "v".