aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-12-20 03:48:42 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-20 03:48:42 -0800
commit094a624bbd20f1817acfdbbf3432af7136e1f762 (patch)
tree29d3f83c670576d9b676246ea5bacb26440c5fdd
parent6fa91b48742a376c845ecbd1676d887dc3829c9d (diff)
downloadgcc-094a624bbd20f1817acfdbbf3432af7136e1f762.zip
gcc-094a624bbd20f1817acfdbbf3432af7136e1f762.tar.gz
gcc-094a624bbd20f1817acfdbbf3432af7136e1f762.tar.bz2
i386.md (sse2_movsd): Remove ix86_binary_operator_ok check.
* config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok check. From-SVN: r92416
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b8876af..8e3f21c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok
+ check.
+
2004-12-20 Steven Bosscher <stevenb@suse.de>
Andrew Pinski <pinskia@physics.uc.edu>
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index b575d42..37fe29b 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -23873,13 +23873,18 @@
[(set_attr "type" "ssecvt")
(set_attr "mode" "DF")])
+;; ??? We ought to be using ix86_binary_operator_ok on this pattern, so
+;; that we enforce the whole matching memory thing through combine et al.
+;; But that requires that things be set up properly when invoked via an
+;; intrinsic, which we don't do. Which leads to instantiate virtual regs
+;; lossage, as seen compiling gcc.dg/i386-sse-2.c for x86_64 at -O0.
(define_insn "sse2_movsd"
[(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,m")
(vec_merge:V2DF
(match_operand:V2DF 1 "nonimmediate_operand" "0,0,0")
(match_operand:V2DF 2 "nonimmediate_operand" "x,m,x")
(const_int 2)))]
- "TARGET_SSE2 && ix86_binary_operator_ok (UNKNOWN, V2DFmode, operands)"
+ "TARGET_SSE2"
"@movsd\t{%2, %0|%0, %2}
movlpd\t{%2, %0|%0, %2}
movlpd\t{%2, %0|%0, %2}"