From 42ae7ebfb2665f8565c8d6c04f6214785a6765ce Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Fri, 7 Jan 2022 20:40:35 +0100 Subject: [PATCH] i386: Robustify V2QI and V4QI move patterns MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add sse2 isa attribute where needed and remove where not needed. 2022-01-07 Uroš Bizjak gcc/ChangeLog: * config/i386/mmx.md (*move_internal): Add isa attribute. (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5. --- gcc/config/i386/mmx.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 8e0a649..4fc3e00 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -285,7 +285,12 @@ gcc_unreachable (); } } - [(set (attr "type") + [(set (attr "isa") + (cond [(eq_attr "alternative" "6,7") + (const_string "sse2") + ] + (const_string "*"))) + (set (attr "type") (cond [(eq_attr "alternative" "2") (const_string "sselog1") (eq_attr "alternative" "3,4,5,6,7") @@ -306,12 +311,15 @@ (const_string "V4SF") (match_test "TARGET_AVX") (const_string "TI") - (match_test "optimize_function_for_size_p (cfun)") + (ior (not (match_test "TARGET_SSE2")) + (match_test "optimize_function_for_size_p (cfun)")) (const_string "V4SF") ] (const_string "TI")) + (and (eq_attr "alternative" "4,5") - (match_test "mode == V2HFmode")) + (ior (match_test "mode == V2HFmode") + (not (match_test "TARGET_SSE2")))) (const_string "SF") ] (const_string "SI"))) @@ -401,7 +409,7 @@ } } [(set (attr "isa") - (cond [(eq_attr "alternative" "4,5,6,8,9") + (cond [(eq_attr "alternative" "6,8,9") (const_string "sse2") (eq_attr "alternative" "7") (const_string "sse4") -- 2.7.4