What is the future of gcc-2.95.3-prerelease ?
Tim Prince
tprince@computer.org
Thu Feb 15 22:14:00 GMT 2001
----- Original Message -----
From: "Zack Weinberg" <zackw@Stanford.EDU>
To: <tprinceusa@mindspring.com>
Cc: <gcc@gcc.gnu.org>
Sent: Thursday, February 15, 2001 4:15 PM
Subject: Re: Re: What is the future of gcc-2.95.3-prerelease ?
> Your message came through on one long line. Please fix your mail client.
I'm sorry, I must have been fooled by that mailer's autowrap into not
inserting hard returns.
>
> None of what you said gives me any idea of what the bug actually is,
> beyond some sort of problem with -march=pentiumpro -ffast-math and
> Cygwin. I see several reports in the gcc-bugs archive which seem to
> be related to that combination of options, but I do not know which is
> yours, or whether they've been fixed. I'm going to assume that gcc
> 2.9[67] either crashes or generates incorrect code for some input or
> other, with those options, and gcc 2.95.x doesn't. If that is true,
> then the bug is important never mind how rare it is.
>
> But you have to tell us what the bug is, before we can fix it.
>
> zw
It's still a problem on linux as well as cygwin. I know that cygwin is not
a supported target, and I'm grateful to the extent that people have helped
make it work. The problem is the same old one which started early in
gcc-2.96 with the g77 sequence (all typed double precision). It has always
worked correctly in the 2.95 series.
if(x /= y)then
if( x * y >=0)then
a=abs(x)
b=abs(y)
c=max(a,b)
d=min(a,b)
w=1-d/c
else
w=1
endif
else
w=0
endif
which, when compiled with g77-2.97 -O, -Os, or -O2, along with the
combination -march=pentiumpro -ffast-math, sets w to 0., regardless of the
values of x and y. Definitely not an optimum way to do that. I'll try to
see if I can make a case demonstrating this in C as well, as well as looking
for a work-around.
No, I didn't invent that, it's from US Dept of Energy source code. I do
recognize that there is some redundancy there which might throw an optimizer
off. I've been staring at the code generated with the various options.
More information about the Gcc
mailing list