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