diff mbox series

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

Message ID CAFULd4agcNJjALwvo001yVcAHDpuLT64J2W3_aTN5HaZvKWDMg@mail.gmail.com
State New
Headers show
Series [i386] : FIx PR85903]: FAIL: gcc.target/i386/avx512dq-vcvtuqq2pd-2.c | expand

Commit Message

Uros Bizjak May 24, 2018, 6:20 p.m. UTC
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.
diff mbox series

Patch

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;