On Sat, Mar 25, 2017 at 04:35:39PM -0700, Christopher Li wrote: > On Fri, Mar 24, 2017 at 4:54 PM, Luc Van Oostenryck > <luc.vanoostenryck@xxxxxxxxx> wrote: > > Yes, indeed. > > I've some plan to add better handling of floating-point and the compare > > is part of it. It'll need a new set of instructions to do it correctly > > (precisely > > because for fp numbers once you care about NaNs/unordered "a < b" is *not* > > the same as "!(a >= b)"). > > But there is also a number of bugs I want to solve, especially one related to > > the misplacement of phi-node and another about missing reloads. For the moment > > I think we can pretend that all the fp values we deal with are ordered ones. > > Can we detect it is the floating point type then avoid doing the > compare swap for floating point? We were not talking about the swap here but of the 'negate' (and the swaping of the operands is immune to the NaNs/unordered). And in fact, the code which needs the negation of compare's opcode can't be called with floating-points args as this code is part of the simplification made when one of the argument is a constant (and only if the constant is 0 or 1). And by constant we mean here a PSEUDO_VAL, which can never be part of a floating-point operation. So in no cases can we have a problem because of that. -- Luc -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html