https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71453

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|SUSPENDED                   |NEW
                 CC|izamyatin at gmail dot com         |crazylht at gmail dot 
com,
                   |                            |skpgkp2 at gmail dot com

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
commit 0ccf1b9d72ec54742f14d0ded84fa34cb5a48e5b
Author: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Aug 28 15:09:51 2019 +0000

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f3b3a9a326fd..d2d84eb11663 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -18617,9 +18617,9 @@ ix86_register_move_cost (machine_mode mode, reg_class_t
class1_i,
        where integer modes in SSE registers are not tieable
        because of missing QImode and HImode moves to, from or between
        MMX/SSE registers.  */
-    return MAX (8, SSE_CLASS_P (class1)
-     ? ix86_cost->hard_register.sse_to_integer
-     : ix86_cost->hard_register.integer_to_sse);
+    return (SSE_CLASS_P (class1)
+      ? ix86_cost->hard_register.sse_to_integer
+      : ix86_cost->hard_register.integer_to_sse);

   if (MAYBE_FLOAT_CLASS_P (class1))
     return ix86_cost->hard_register.fp_move;

removed the cost floor on inter-unit moves.  It results in spills to
vector registers.

Reply via email to