aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2018-05-24 20:16:29 +0200
committerUros Bizjak <uros@gcc.gnu.org>2018-05-24 20:16:29 +0200
commitfd657f1acbb76aae325f7185359064c89c5dbfad (patch)
tree4d39ac482d6728c9dfb064512b1051b3fb8aae91 /gcc
parent95c921d18c5238c0bf76f7b70b83b65e5933c028 (diff)
downloadgcc-fd657f1acbb76aae325f7185359064c89c5dbfad.zip
gcc-fd657f1acbb76aae325f7185359064c89c5dbfad.tar.gz
gcc-fd657f1acbb76aae325f7185359064c89c5dbfad.tar.bz2
re PR target/85903 (FAIL: gcc.target/i386/avx512dq-vcvtuqq2pd-2.c)
PR target/85903 * config/i386/sse.md (movdi_to_sse): Do not generate pseudo when memory input operand is handled. From-SVN: r260681
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/sse.md7
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1143e14..4021500 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2018-05-24 Luis Machado <luis.machado@linaro.org>
* config/aarch64/aarch64.c (qdf24xx_addrcost_table): New static
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 8a80fa3..9750708 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;