PowerPC Floating Point compare bug?

David Edelsohn dje@watson.ibm.com
Fri May 18 08:25:00 GMT 2001


>>>>> Geoff Keating writes:

Geoff> I think the code simply has the wrong expansion in the movsfcc
Geoff> define_expand for this (rare) case---the operands need to be
Geoff> interchanged.

	The problem is that one cannot tell when the operands should be
treated reversed without doing another max/min pass, so it just isn't
worth it.  I have removed the "NE" case from the patterns.

Geoff> That code is bad in other ways, too, it doesn't allow for overflow and
Geoff> NaNs and such.

	I agree and I thought that it was conditionalized on fast-math at
one point.  I would have expected that movMMcc would be conditionalized on
fast-math or when it knows the operations will be safe (as in this case
with constants and compiler-generated values).

David



More information about the Gcc mailing list