https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101693
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 51238 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51238&action=edit your testcase Attached the testcase for reference. The odd thing is there's nothing apperantly wrong with what we feed to the RA, but eventually we're confused about the UNSPEC way of encoding vpmaddubswaccd so the RA doesn't see it can coalesce the accumulators and its result. (insn 43 42 45 3 (set (reg:V8SI 164) (unspec:V8SI [ (subreg:V8SI (reg:V4DI 89 [ regs__I_lsm.13 ]) 0) (reg:V8SI 116 [ _127 ]) (mem:V8SI (plus:DI (reg:DI 84 [ ivtmp.26 ]) (const_int 6144 [0x1800])) [0 MEM[(const __m256i * {ref-all})_147 + 6144B]+0 S32 A256]) ] UNSPEC_VPMADDUBSWACCD)) "Compiler Explorer C++ Editor #[object Object] Code.cpp":13:11 6082 {vpdpbusd_v8si} (expr_list:REG_DEAD (reg:V4DI 89 [ regs__I_lsm.13 ]) (nil)))