alpha failure on 920810-1

Joern Rennecke amylaar@cygnus.co.uk
Thu Apr 30 10:25:00 GMT 1998


> On Wed, Apr 29, 1998 at 10:13:05PM +0100, Joern Rennecke wrote:
> > If it tests only if all bits are zero, I think we should express this
> > as a DImode equality test to zero:
> > 
> >         (set (reg:DF 1)
> >           (eq:DF (reg:DF 2) (reg:DF 3)))
> >         (set (reg:DF 4)
> >           (if_then_else:DF (eq (subreg:DI (reg:DF 1) 0)
> >                                (const_int 0))
> >                            (reg:DF 5)
> >                            (reg:DF 4)))
> 
> Unfortunately that is not the whole truth.  I read the fine print
> last night and found that it handles -0.0 specially, so it is not
> really a DImode compare.  Which is unfortunate, since I'd like to 
> be able to do real DImode comparisons with them...

If that is the case, what is the problem?  After all, this is an
equality comparison, and if a NaN is found unequal because it is
unequal to everything, or becuase it is unequal to 0, doesn't really matter,
does it?

Or are you missing signals when you are comparing signaling NaNs?



More information about the Gcc mailing list