diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-05-09 20:48:31 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-05-09 20:48:31 +0200 |
commit | 0ba511a1353586237c1e3342e91b5218505a20c1 (patch) | |
tree | e3fb13062d7fa2ac16fcc3601136e6e978cc8b83 | |
parent | 20f9034bc38de755016d3858e23ee438abcfc80b (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 12 |
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") |