aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-05-09 20:48:31 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-05-09 20:48:31 +0200
commit0ba511a1353586237c1e3342e91b5218505a20c1 (patch)
treee3fb13062d7fa2ac16fcc3601136e6e978cc8b83
parent20f9034bc38de755016d3858e23ee438abcfc80b (diff)
downloadgcc-0ba511a1353586237c1e3342e91b5218505a20c1.zip
gcc-0ba511a1353586237c1e3342e91b5218505a20c1.tar.gz
gcc-0ba511a1353586237c1e3342e91b5218505a20c1.tar.bz2
i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
* config/i386/i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code. Calculate "mode" attribute according to TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag. (*movdf_internal): Ditto. From-SVN: r187348
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.md12
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d17b2a..d872972 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+ * config/i386/i386.c (*movdf_internal_rex64): Remove
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
+ Calculate "mode" attribute according to
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
+ (*movdf_internal): Ditto.
+
+2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+
PR target/44141
* config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
128 bit vectors specially for TARGET_AVX. Emit sse2_movupd and
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 80f1ec4..c825579 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2953,8 +2953,7 @@
switch (get_attr_mode (insn))
{
case MODE_V2DF:
- if (!TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "%vmovapd\t{%1, %0|%0, %1}";
+ return "%vmovapd\t{%1, %0|%0, %1}";
case MODE_V4SF:
return "%vmovaps\t{%1, %0|%0, %1}";
@@ -3032,7 +3031,8 @@
movaps encodes one byte shorter. */
(eq_attr "alternative" "8")
(cond
- [(match_test "optimize_function_for_size_p (cfun)")
+ [(ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")
+ (match_test "optimize_function_for_size_p (cfun)"))
(const_string "V4SF")
(match_test "TARGET_SSE_PARTIAL_REG_DEPENDENCY")
(const_string "V2DF")
@@ -3094,8 +3094,7 @@
switch (get_attr_mode (insn))
{
case MODE_V2DF:
- if (!TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
- return "%vmovapd\t{%1, %0|%0, %1}";
+ return "%vmovapd\t{%1, %0|%0, %1}";
case MODE_V4SF:
return "%vmovaps\t{%1, %0|%0, %1}";
@@ -3167,7 +3166,8 @@
movaps encodes one byte shorter. */
(eq_attr "alternative" "6,10")
(cond
- [(match_test "optimize_function_for_size_p (cfun)")
+ [(ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL")
+ (match_test "optimize_function_for_size_p (cfun)"))
(const_string "V4SF")
(match_test "TARGET_SSE_PARTIAL_REG_DEPENDENCY")
(const_string "V2DF")