This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/48970] New: Inaccurate comments for processor_costs


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

           Summary: Inaccurate comments for processor_costs
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: hjl.tools@gmail.com
                CC: ubizjak@gmail.com
            Target: x86


i386.h has

struct processor_costs {
...
  const int sse_load[3];        /* cost of loading SSE register
                                   in SImode, DImode and TImode*/
  const int sse_store[3];       /* cost of storing SSE register
                                   in SImode, DImode and TImode*/

But i386.c has
 if (SSE_CLASS_P (regclass))
    {
      int index;
      switch (GET_MODE_SIZE (mode))
        {     
          case 4:
            index = 0;
            break;
          case 8:
            index = 1;
            break;
          case 16:
            index = 2;
            break;
          default:
            return 100;
        }     
      if (in == 2) 
        return MAX (ix86_cost->sse_load [index], ix86_cost->sse_store [index]);
      return in ? ix86_cost->sse_load [index] : ix86_cost->sse_store [index];
    }

SImode, DImode nor TImode aren't used to compute costs.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]