JDK-8285973 : x86_64: Improve fp comparison and cmove for eq/ne
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 19
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: x86
  • Submitted: 2022-05-01
  • Updated: 2022-05-24
  • Resolved: 2022-05-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 19
19 masterFixed
Description
- Fp comparison with eq/ne does not have to process ZF when both inputs of the comparison are the same.
- CMove nodes lack the match rules for cmpOpUCF2, leading to those with eq/ne falling to cmpOpU, which has a really high overhead of fixing the flags.
- Use Math.abs(v) == POSITIVE_INFINITY for Double/Float.isInfinite, which reduces 1 comparison and 1 branch.
Comments
Changeset: c1db70d8 Author: Quan Anh Mai <anhmdq99@gmail.com> Committer: Sandhya Viswanathan <sviswanathan@openjdk.org> Date: 2022-05-24 00:15:54 +0000 URL: https://git.openjdk.java.net/jdk/commit/c1db70d827f7ac81aa6c6646e2431f672c71c8dc
24-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8525 Date: 2022-05-04 01:59:17 +0000
04-05-2022