https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95740
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2020-06-18 Keywords| |ra --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- ;; return _1; (insn 6 5 7 (parallel [ (set (reg:SI 86) (plus:SI (subreg:SI (reg/v:SF 85 [ p ]) 0) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) "t.c":5:5 -1 (nil)) (insn 7 6 8 (set (reg:SI 84 [ <retval> ]) (reg:SI 86)) "t.c":6:12 -1 (nil)) Initial RTL couldn't be better... but then LRA chooses to spill rather than try a direct xmm->grp move. -mtune=intel didn't help here (for generic we IIRC avoid such moves)