https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95218
--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> --- I think I found the issue. Before the patch, we had: (insn 375 373 2574 7 (parallel [ (set (reg:V4DF 21 xmm1 [orig:1681 vect__45.441 ] [1681]) (neg:V4DF (mem/c:V4DF (plus:DI (reg/f:DI 7 sp) (const_int 160 [0xa0])) [3 %sfp+-1184 S32 A256]))) (use (reg:V4DF 20 xmm0 [3332])) ]) "fma_1.h":20:10 1487 {*negv4df2} (nil)) after the patch, reload is free to create: (insn 375 3216 2578 7 (parallel [ (set (reg:V4DF 21 xmm1 [orig:1681 vect__45.441 ] [1681]) (neg:V4DF (reg:V4DF 20 xmm0 [3332]))) (use (mem/c:V4DF (plus:DI (reg/f:DI 7 sp) (const_int 160 [0xa0])) [3 %sfp+-1184 S32 A256])) ]) "fma_1.h":20:10 1487 {*negv4df2} (nil)) which postreload pass does not like, and simply deletes it: deleting insn with uid = 375. Just like that. No substitution whatsoever. So, is there some limitation with (use) RTX, so we can't have memory here?