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]

Re: PowerPC Floating Point compare bug?


David Edelsohn <dje@watson.ibm.com> writes:

> >>>>> Geoff Keating writes:
> 
> Geoff> Yes.  Specifically, it's the code sequence fsel/fneg/fsel that gets
> Geoff> emitted for a comparison; GCC is emitting it wrongly.
> 
> 	If it was right, there wouldn't be a bug :^).
> 
> 	The fsel code should be selecting between operands of the same
> mode, though the test can be of a different mode.  The code is from the
> PowerPC Processor Book appendix.  The bug most likely is some requirement
> about the operands that is not being met.  I'll trace down the
> transitions.

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

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

-- 
- 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]