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]

optimization/8737: Pentium4 + SSE: register to spill in class 'FLOAT_REGS' [minimal example]


>Number:         8737
>Category:       optimization
>Synopsis:       Pentium4 + SSE: register to spill in class 'FLOAT_REGS' [minimal example]
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 27 18:16:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Eric Laberge <demon_lord@myrealbox.com>
>Release:        GCC 3.2 / 3.2.1
>Organization:
>Environment:
Linux 2.4.19, glibc 2.3.1, SourceMage devel 2002-11-27
>Description:
File test.c:
int main()
{
  int a = 1;
  float b[1];
  float c[1];
  float *d = c;
  float e[2];
  int i;

  for (i = 0; i < 4; i++)
  {
    if (a)
      e[0] = (unsigned int)(*b);
    *d = e[0] + 1;
  }
  return 0;
}


Command:
gcc test.c -march=pentium4 -O -mfpath=sse


Error:
test.c: In function `main':
test.c:17: unable to find a register to spill in class `FLOAT_REGS'
test.c:17: this is the insn:
(insn 52 50 53 (set (subreg:SF (reg/v:DI 22 rxmm1 [67]) 0)
        (float:SF (reg:DI 0 rax [73]))) 170 {*floatdisf2_i387_only} (nil)
    (nil))
test.c:17: confused by earlier errors, bailing out


>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


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