https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69551
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- if (SSE2) .... else /* For SSE1, we have to reuse the V4SF code. */ rtx t = gen_reg_rtx (V4SFmode); ix86_expand_vector_set (false, t, gen_lowpart (SFmode, val), elt); emit_move_insn (target, gen_lowpart (mode, t)); somehow ends up recursing in a weird way, using the new reg t but nowhere using 'target' apart from overwriting it in the end