https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106180
--- Comment #7 from Haochen Jiang <haochen.jiang at intel dot com> ---
(In reply to Uroš Bizjak from comment #6)
> Comment on attachment 53261 [details]
> This patch aims to handle memory issue when unpacking in cvtps2pd
>
> >@@ -9270,7 +9270,15 @@
> > (vec_select:V2SF
> > (match_operand:V4SF 1 "vector_operand")
> > (parallel [(const_int 0) (const_int 1)]))))]
> >- "TARGET_SSE2")
> >+ "TARGET_SSE2"
> >+{
> >+ if (MEM_P (operands[1]))
> >+ {
> >+ operands[1] = gen_lowpart (V2SFmode, operands[1]);
> >+ emit_insn (gen_sse2_cvtps2pd_1 (operands[0], operands[1]));
> >+ DONE;
> >+ }
> >+})
>
> Does adjust_address_nv work here instead of gen_lowpart?
>
> Uros.
I just did a quick test on that. It seems that it works.
I will send out the patch after fully tested.