This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Floating point comparison


> From: Ian Dall <ian@beware.dropbear.id.au>
> Date: Tue, 3 Dec 2002 23:24:39 +1030

>  > The MI code is _not_ allowed to switch between GE and LT unless it
>  > knows that this is safe.
> 
> So not for ieee float, right?

Right.  But, the point I was trying to make is that in your example,
it didn't switch between GE and LT.  Both branches are LT, it's just
that one of them is reversed.  It is your port that is interpreting a
reversed LT branch as GE, which it shouldn't be doing.

>  > I'm pretty sure it doesn't, because if it
>  > tried the rs6000 port would abort (rs6000 doesn't have a bge
>  > instruction for floating point).
>  > 
>  > The rs6000 port uses CCFPmode to track whether a branch is from a FP
>  > conditional or an integer conditional (although not for this reason);
>  > that may help you here.
> 
> Maybe that is why the rs6000 port doesn't see this problem?

No, the middle-end doesn't know that CCFPmode is special.

-- 
- Geoffrey Keating <geoffk@geoffk.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]