public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c/8364: unable to find a register to spill in class `FLOAT_REGS'
@ 2002-10-26  0:16 jean-marc.valin
  0 siblings, 0 replies; only message in thread
From: jean-marc.valin @ 2002-10-26  0:16 UTC (permalink / raw)
  To: gcc-gnats


>Number:         8364
>Category:       c
>Synopsis:       unable to find a register to spill in class `FLOAT_REGS'
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 26 00:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     ?
>Release:        gcc 3.1 (and 3.2)
>Organization:
>Environment:
Linux/x86 (RedHat 7.2)
>Description:
When compiling a (valid) C file with -march=pentium4, I get an internal compiler error:
crash_gcc.c: In function `split_cb_search_shape_sign':
crash_gcc.c:86: unable to find a register to spill in class `FLOAT_REGS'
crash_gcc.c:86: this is the insn:
(insn 157 154 158 (set (reg:SF 8 st(0) [99])
        (subreg:SF (reg/v:DI 21 rxmm0 [75]) 0)) 90 {*movsf_1} (nil)
    (nil))
crash_gcc.c:86: confused by earlier errors, bailing out

This does not happen when I don't compile for pentium4. The file I attached was simplified as much as I could (it doesn't do anything useful anymore, but it's valid) but it doesn't seem like the problem is related to a single statement.

Also, depending on the exact content, I sometime get this error instead:
Internal compiler error in ix86_secondary_memory_needed, at config/i386/i386.c:12251
>How-To-Repeat:
gcc -march=pentium4 -O2 -c crash_gcc.c
>Fix:
?
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="crash_gcc.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="crash_gcc.c"

Cgp0eXBlZGVmIHN0cnVjdCBzcGxpdF9jYl9wYXJhbXMgewogICBpbnQgICAgIHN1YnZlY3Rfc2l6
ZTsKICAgaW50ICAgICBuYl9zdWJ2ZWN0OwogICBmbG9hdCAgKnNoYXBlX2NiOwogICBpbnQgICAg
IHNoYXBlX2JpdHM7Cn0gc3BsaXRfY2JfcGFyYW1zOwoKCnZvaWQgc3BsaXRfY2Jfc2VhcmNoX3No
YXBlX3NpZ24oCmZsb2F0IHRhcmdldFtdLAkJCS8qIHRhcmdldCB2ZWN0b3IgKi8Kdm9pZCAqcGFy
LCAgICAgICAgICAgICAgICAgICAgICAvKiBDb2RlYm9vay9zZWFyY2ggcGFyYW1ldGVycyovCmlu
dCAgIHAsICAgICAgICAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIExQQyBjb2VmZnMgKi8K
aW50ICAgbnNmLCAgICAgICAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2Ygc2FtcGxlcyBpbiBz
dWJmcmFtZSAqLwpmbG9hdCAqZXhjCikKewogICBpbnQgaSxqOwogICBmbG9hdCByZXNwWzQwXTsK
ICAgZmxvYXQgdFs0MF0sIEVbNjRdOwogICBmbG9hdCAqc2hhcGVfY2I7CiAgIGludCBzaGFwZV9j
Yl9zaXplLCBzdWJ2ZWN0X3NpemUsIG5iX3N1YnZlY3Q7CiAgIHNwbGl0X2NiX3BhcmFtcyAqcGFy
YW1zOwoKICAgcGFyYW1zID0gKHNwbGl0X2NiX3BhcmFtcyAqKSBwYXI7CiAgIHN1YnZlY3Rfc2l6
ZSA9IHBhcmFtcy0+c3VidmVjdF9zaXplOwogICBuYl9zdWJ2ZWN0ID0gcGFyYW1zLT5uYl9zdWJ2
ZWN0OwogICBzaGFwZV9jYl9zaXplID0gMTw8cGFyYW1zLT5zaGFwZV9iaXRzOwogICBzaGFwZV9j
YiA9IHBhcmFtcy0+c2hhcGVfY2I7CiAgIAoKICAgZm9yIChpPTA7aTxuYl9zdWJ2ZWN0O2krKykK
ICAgewogICAgICBpbnQgYmVzdF9pbmRleFsyXT17MCwwfSwgazsKICAgICAgZmxvYXQgZGlzdCwg
YmVzdF9kaXN0WzJdPXstMSwtMX0sIGJlc3Rfc2lnblsyXT17MCwwfTsKICAgICAgZmxvYXQgKmEs
ICp4OwogICAgICBmbG9hdCBlbmVyZ3k9MDsKICAgICAgeD10K3N1YnZlY3Rfc2l6ZSppOwoKICAg
ICAgLyogRmluZCBiZXN0IGNvZGV3b3JkIGZvciBjdXJyZW50IHN1Yi12ZWN0b3IgKi8KICAgICAg
Zm9yIChqPTA7ajxzaGFwZV9jYl9zaXplO2orKykKICAgICAgewogICAgICAgICBpbnQgc2lnbjsK
ICAgICAgICAgZGlzdD0wOwogICAgICAgICBhPXJlc3AraipzdWJ2ZWN0X3NpemU7CiAgICAgICAg
IGRpc3Q9MDsKICAgICAgICAgZm9yIChrPTA7azxzdWJ2ZWN0X3NpemU7aysrKQogICAgICAgICAg
ICBkaXN0IC09IDIqYVtrXSp4W2tdOwogICAgICAgICBkaXN0ICs9IGVuZXJneStFW2pdOwogICAg
ICAgICBpZiAoZGlzdDxiZXN0X2Rpc3RbMF0gfHwgYmVzdF9kaXN0WzBdPDApCiAgICAgICAgIHsK
ICAgICAgICAgICAgYmVzdF9kaXN0WzFdPWJlc3RfZGlzdFswXTsKICAgICAgICAgICAgYmVzdF9p
bmRleFsxXT1iZXN0X2luZGV4WzBdOwogICAgICAgICAgICBiZXN0X3NpZ25bMV09YmVzdF9zaWdu
WzBdOwogICAgICAgICAgICBiZXN0X2Rpc3RbMF09ZGlzdDsKICAgICAgICAgICAgYmVzdF9pbmRl
eFswXT1qOwogICAgICAgICAgICBiZXN0X3NpZ25bMF09c2lnbjsKICAgICAgICAgfQogICAgICB9
CiAgICAgIGlmIChpPG5iX3N1YnZlY3QtMSkKICAgICAgewogICAgICAgICBpbnQgbmJlc3Q7CiAg
ICAgICAgIGZvciAobmJlc3Q9MDtuYmVzdDwyO25iZXN0KyspCiAgICAgICAgIHsKICAgICAgICAg
ICAgICAgeD10K3N1YnZlY3Rfc2l6ZSooaSsxKTsKICAgICAgICAgICAgICAgZm9yIChqPTA7ajxz
aGFwZV9jYl9zaXplO2orKykKICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBhPXJl
c3AraipzdWJ2ZWN0X3NpemU7CiAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOwogICAgICAgICAg
ICAgICAgICBmb3IgKGs9MDtrPHN1YnZlY3Rfc2l6ZTtrKyspCiAgICAgICAgICAgICAgICAgICAg
IGRpc3QgLT0gMiphW2tdKnhba107CiAgICAgICAgICAgICAgICAgIGRpc3QgKz0gZW5lcmd5K0Vb
al07CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgCgogICAgICAgICB9CgoKICAgICAg
fQoKICAgfQogICAKCiAgIAp9Cg==


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-10-26  7:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-26  0:16 c/8364: unable to find a register to spill in class `FLOAT_REGS' jean-marc.valin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).