This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: g77 -ieee crash in 1.0.3a
- To: Greg Lindahl <lindahl at cs dot virginia dot edu>
- Subject: Re: g77 -ieee crash in 1.0.3a
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Wed, 29 Jul 98 20:00:12 +0200
- Cc: egcs-bugs at cygnus dot com
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <199807291442.KAA07803@spare-parts.cs.virginia.edu>
> [lindahl@spare-parts ocean]$ g77 -c -O3 -static
> -I/usr/local/mpich/include -mieee test.f test.f: In
> subroutine `minmax': test.f:47: internal
> error--unrecognizable insn: (insn 189 188 190 (set
> (reg:DF 142)
> (le:DF (float_extend:DF (reg:SF 140))
> (float_extend:DF (reg:SF 141)))) -1 (nil)
> (nil))
I get the same error message using a 19980726-CVS'd egcs-1.1
prerelease snapshot, using the following, somewhat simpler example:
subroutine a(b,c)
b = max(b,c)
end
:-)
The only important option in the list above is -mieee: With it,
you'll get the error, without it there's no problem (and the
expected floating conditional move is used; probably the above insn
also tries that, but perhaps it gets confused by the float_extends -
I've no idea why they're necessary, because all variables are
single precision).
Cheers,
Toon.