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);
+       }

?

Reply via email to