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.

Reply via email to