[PATCH, i386]: FIx PR85903]: FAIL: gcc.target/i386/avx512dq-vcvtuqq2pd-2.c

Uros Bizjak ubizjak@gmail.com
Thu May 24 18:20:00 GMT 2018


Hello!

my recent patch exposed a problem in movdi_to_sse pattern, where
post-reload splitter tries to generate a pseudo, which is in fact not
needed.

2018-05-24  Uros Bizjak  <ubizjak@gmail.com>

    PR target/85903
    * config/i386/sse.md (movdi_to_sse): Do not generate pseudo
    when memory input operand is handled.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN, will be backported to release branches.

Uros.
-------------- next part --------------
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 8a80fa35067..9750708a80f 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1248,11 +1248,8 @@
 					     operands[2]));
    }
  else if (memory_operand (operands[1], DImode))
-   {
-     rtx tmp = gen_reg_rtx (V2DImode);
-     emit_insn (gen_vec_concatv2di (tmp, operands[1], const0_rtx));
-     emit_move_insn (operands[0], gen_lowpart (V4SImode, tmp));
-   }
+   emit_insn (gen_vec_concatv2di (gen_lowpart (V2DImode, operands[0]),
+				  operands[1], const0_rtx));
  else
    gcc_unreachable ();
  DONE;


More information about the Gcc-patches mailing list