[Bug target/48970] Inaccurate comments for processor_costs

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 11 21:36:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48970

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2011-05-11 21:23:45 UTC ---
Also

 const int mmxsse_to_integer;  /* cost of moving mmxsse register to
                                   integer and vice versa.  */

isn't limited to integers:

 /* Moves between SSE/MMX and integer unit are expensive.  */
  if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2)
      || SSE_CLASS_P (class1) != SSE_CLASS_P (class2))

    /* ??? By keeping returned value relatively high, we limit the number
       of moves between integer and MMX/SSE registers for all targets.
       Additionally, high value prevents problem with x86_modes_tieable_p(),
       where integer modes in MMX/SSE registers are not tieable
       because of missing QImode and HImode moves to, from or between
       MMX/SSE registers.  */
    return MAX (8, ix86_cost->mmxsse_to_integer);

Integer register classes aren't checked at all.



More information about the Gcc-bugs mailing list