RFR: 8352585: Add special case handling for Float16.max/min x86 backend

Jatin Bhateja jbhateja at openjdk.org
Fri Mar 21 20:25:21 UTC 2025


This bugfix patch adds the special handling as per x86 AVX512-FP16 ISA specification[1][2] to compute max/min operations with +/-0.0 or NaN operands.

Special handling leverage the instruction semantic, central idea is to shuffle the operands such that smaller input gets assigned to second operand for min operation or a larger input gets assigned to second operand for max operation, in addition result equals NaN if an unordered comparison detects first input as a NaN value else we return the result of min/max operation. 

Kindly review and share your feedback.

Best Regards,
Jatin

[1] https://www.felixcloutier.com/x86/vminsh
[2] https://www.felixcloutier.com/x86/vmaxsh

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

Commit messages:
 - 8352585: Add special case handling for Float16.max/min x86 backend

Changes: https://git.openjdk.org/jdk/pull/24169/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24169&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352585
  Stats: 272 lines in 6 files changed: 266 ins; 6 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/24169.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24169/head:pull/24169

PR: https://git.openjdk.org/jdk/pull/24169


More information about the hotspot-compiler-dev mailing list