https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82058
--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> --- Created attachment 42094 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42094&action=edit workaround patch Using this workaround patch, we have instead: ... 0 Early clobber: reject++ 3 Matching earlyclobber alt: reject-- 0 Matched conflict early clobber reloads: reject == 0 alt=0,overall=17,losers=3,rld_nregs=1 Choosing alt 0 in insn 14: (0) =&v (1) vm (2) v (3) 0C (4) Yk {srcp14v2df_mask} Creating newreg=100 from oldreg=93, assigning class ALL_SSE_REGS to r100 Creating newreg=101, assigning class MASK_EVEX_REGS to r101 14: r100:V2DF=vec_merge(vec_merge(unspec[r91:V2DF] 152,r100:V2DF,r101:QI),xmm1:V2DF,0x1) ... resulting in insn: ... (insn 14 25 24 2 (set (reg:V2DF 23 xmm2 [93]) (vec_merge:V2DF (vec_merge:V2DF (unspec:V2DF [ (reg/v:V2DF 21 xmm0 [orig:91 aD.2698 ] [91]) ] UNSPEC_RCP14) (reg:V2DF 23 xmm2 [93]) (reg:QI 70 k1 [101])) (reg:V2DF 22 xmm1 [ bD.2699 ]) (const_int 1 [0x1]))) "avx-1.c":7 1503 {srcp14v2df_mask} (nil)) ...