aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2013-05-22 12:16:41 +0000
committerUros Bizjak <ubizjak@gmail.com>2013-05-22 12:16:41 +0000
commitf92547b5691ce7337c578ae19c2164a38146340b (patch)
tree4fcadbb56c98dc410030e2e2ebe5fa3c5381de91 /gcc/config
parent39e864e645b813dde44e0cde89a17ea85a076b6d (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.md9
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")))])