From daa5129526e2bc12add2253ed76d8bc06e15712c Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Sun, 13 May 2012 19:17:30 +0200 Subject: [PATCH] * config/i386/sse.md: The other part of my previous commit. From-SVN: r187440 --- gcc/config/i386/sse.md | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 151e651..70cced4 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -6729,13 +6729,20 @@ (const_string "*"))) (set_attr "prefix" "orig,vex") (set (attr "mode") - (cond [(and (not (match_test "TARGET_AVX2")) - (match_test "GET_MODE_SIZE (mode) > 16")) - (const_string "V8SF") - (not (match_test "TARGET_SSE2")) - (const_string "V4SF") - ] - (const_string "")))]) + (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (const_string "") + (match_test "TARGET_AVX2") + (const_string "") + (match_test "TARGET_AVX") + (if_then_else + (match_test "GET_MODE_SIZE (mode) > 16") + (const_string "V8SF") + (const_string "")) + (ior (not (match_test "TARGET_SSE2")) + (match_test "optimize_function_for_size_p (cfun)")) + (const_string "V4SF") + ] + (const_string "")))]) (define_expand "3" [(set (match_operand:VI 0 "register_operand") @@ -6804,13 +6811,20 @@ (const_string "*"))) (set_attr "prefix" "orig,vex") (set (attr "mode") - (cond [(and (not (match_test "TARGET_AVX2")) - (match_test "GET_MODE_SIZE (mode) > 16")) - (const_string "V8SF") - (not (match_test "TARGET_SSE2")) - (const_string "V4SF") - ] - (const_string "")))]) + (cond [(match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") + (const_string "") + (match_test "TARGET_AVX2") + (const_string "") + (match_test "TARGET_AVX") + (if_then_else + (match_test "GET_MODE_SIZE (mode) > 16") + (const_string "V8SF") + (const_string "")) + (ior (not (match_test "TARGET_SSE2")) + (match_test "optimize_function_for_size_p (cfun)")) + (const_string "V4SF") + ] + (const_string "")))]) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -- 2.7.4