optimization/6845: ICE with -O -march=pentium3/pentium2/athlon

torbjorn.wassberg@swipnet.se torbjorn.wassberg@swipnet.se
Tue May 28 06:56:00 GMT 2002


>Number:         6845
>Category:       optimization
>Synopsis:       ICE with -O -march=pentium3/pentium2/athlon
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Tue May 28 06:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Torbjörn Wassberg
>Release:        gcc version 3.2 20020527 (experimental)
>Organization:
>Environment:
Mandrake 8.2 x86
Configured with: ../gcc/configure --prefix=/usr/local/gcc/ --enable-languages=c
>Description:
I found this when trying to compile lbreakout 2.2.2

It only triggers when using -O or higher together with -march=pentium3, -march=pentium2 or -march=athlon (and perhaps others)

a.c: In function `circle_intersect':
a.c:10: Internal compiler error in ix86_secondary_memory_needed, at config/i386/i386.c:13513
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

I'm not sure if
Vector delta = { pos.x - m.x, pos.y - m.y };
is legal, but it doesn't generate any warnings.
>How-To-Repeat:

>Fix:
Replace
Vector delta = { pos.x - m.x, pos.y - m.y };
with
Vector delta;
delta.x = pos.x - m.x;
delta.y = pos.y - m.y;
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="a.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="a.i"

IyAxICJhLmMiCiMgMSAiPGJ1aWx0LWluPiIKIyAxICI8Y29tbWFuZCBsaW5lPiIKIyAxICJhLmMi
CnR5cGVkZWYgc3RydWN0IHsKICAgIGZsb2F0IHgsIHk7Cn0gVmVjdG9yOwoKaW50IGNpcmNsZV9p
bnRlcnNlY3QoIFZlY3RvciBtLCBWZWN0b3IgcG9zKQp7CiAgICBWZWN0b3IgZGVsdGEgPSB7IHBv
cy54IC0gbS54LCBwb3MueSAtIG0ueSB9OwoKICAgIHJldHVybiBkZWx0YS54Owp9Cg==



More information about the Gcc-bugs mailing list