https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71114
--- Comment #15 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Dominique d'Humieres from comment #14) > > Looks I found the problem. validize_mem generates new instructions which > > are placed wrongly. This patch should help. Unfortunately I can't test > > it properly on Darwin. > > Thanks for the feedback. I just started a clean regstrap, allow for ~6h+. that code won't build - did you mean : if (!standard_sse_constant_p (vec_cst, V2DImode)) - vec_cst = validize_mem (force_const_mem (V2DImode, vec_cst)); + { + start_sequence (); + vec_cst = validize_mem (force_const_mem (V2DImode, vec_cst)); + rtx_insn *seq = get_insns (); + end_sequence (); + emit_insn_before (seq, insn); + } ?