diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2013-05-22 12:16:41 +0000 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2013-05-22 12:16:41 +0000 |
commit | f92547b5691ce7337c578ae19c2164a38146340b (patch) | |
tree | 4fcadbb56c98dc410030e2e2ebe5fa3c5381de91 /gcc/config | |
parent | 39e864e645b813dde44e0cde89a17ea85a076b6d (diff) |
PR target/57356
* config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
for non-sse2 targets.
(*movti_internal): Simplify mode attribute calculation.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@199195 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.md | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 455fb63f510..71c623e7af1 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1798,6 +1798,8 @@ (set (attr "mode") (cond [(eq_attr "alternative" "0,1") (const_string "DI") + (not (match_test "TARGET_SSE2")) + (const_string "V4SF") (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (const_string "V4SF") (and (eq_attr "alternative" "4") @@ -1854,15 +1856,16 @@ [(set_attr "type" "sselog1,ssemov,ssemov") (set_attr "prefix" "maybe_vex") (set (attr "mode") - (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (cond [(not (match_test "TARGET_SSE2")) + (const_string "V4SF") + (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") (const_string "V4SF") (and (eq_attr "alternative" "2") (match_test "TARGET_SSE_TYPELESS_STORES")) (const_string "V4SF") (match_test "TARGET_AVX") (const_string "TI") - (ior (not (match_test "TARGET_SSE2")) - (match_test "optimize_function_for_size_p (cfun)")) + (match_test "optimize_function_for_size_p (cfun)") (const_string "V4SF") ] (const_string "TI")))]) |