RFR: 8375536: PPC64: Implement special MachNodes for floating point CMove [v5]

Martin Doerr mdoerr at openjdk.org
Fri Jan 30 14:13:17 UTC 2026


On Fri, 30 Jan 2026 14:04:24 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

> > I think comments regarding your latest commit would be helpful. Seems to be related to the treatment of unordered results (comparison with NaN).
> 
> But wasn't the problem there the following: We want to implement `<` with `>=`:
> 
> ```
>        op1 < op2  ? src1 : src2
> <=> !(op1 >= op2) ? src1 : src2
> <=>   op1 >= op2  ? src2 : src1
> ```
> 
> But the implementation was
> 
> ```
> op2 >= op1 ? src1 : src2
> ```
> 
> Which evaluates to src1 instead of src2 for op1 == op2.

That was also wrong, but an additional problem was the wrong handling of NaN: C2 requires unordered to get treated like less

-------------

PR Comment: https://git.openjdk.org/jdk/pull/29281#issuecomment-3823972228


More information about the hotspot-compiler-dev mailing list