RFR: 8372046: compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java fails IR verification
Fei Yang
fyang at openjdk.org
Thu Nov 20 02:22:49 UTC 2025
On Tue, 18 Nov 2025 08:38:13 GMT, Manuel Hässig <mhaessig at openjdk.org> wrote:
>> Hi, please consider this test-only change fixing an IR test failure.
>>
>> This IR test fails on platforms without native support for `Float16`. The reason is that method `Float::floatToFloat16` is inlined into method `TestSubNodeFloatDoubleNegation.testHalfFloat`, which causes unexpected IR graph. One way to fix this would be disabling inlining of methods from the `java.lang.Float` class.
>>
>> After this change, we are doing `CallStaticJava` to convert between `Float16` and `Float` on these platforms:
>>
>> ......
>> 259 CallStaticJava === 5 6 7 8 1 (22 1 669 1 10 1 22 ) [[ 260 261 262 264 ]] # Static java.lang.Float::float16ToFloat float ( int ) Float16::floatValue @ bci:4 (line 876) Float16::subtract @ b ci:1 (line 1185) TestSubNodeFloatDoubleNegation::testHalfFloat @ bci:9 (line 69) !jvms: Float16::floatValue @ bci:4 (line 876) Float16::subtract @ bci:1 (line 1185) TestSubNodeFloatDoubleNegation: :testHalfFloat @ bci:9 (line 69)
>>
>> ......
>>
>> 562 CallStaticJava === 553 507 538 8 1 (526 1 1 1 1 559 559 ) [[ 563 564 565 567 ]] # Static java.lang.Float::floatToFloat16 short ( float ) Float16::valueOf @ bci:5 (line 361) Float16::subtra ct @ bci:9 (line 1185) TestSubNodeFloatDoubleNegation::testHalfFloat @ bci:12 (line 67) !jvms: Float16::valueOf @ bci:5 (line 361) Float16::subtract @ bci:9 (line 1185) TestSubNodeFloatDoubleNegat ion::testHalfFloat @ bci:12 (line 67)
>>
>> ......
>>
>>
>> Verified with fastdebug build on aarch64, x86_64 and riscv64 platforms.
>
> Thank you for looking into this, @RealFYang. The changes look good. I tested locally on x64 with and without FP16 support and just kicked off a CI run. I'll report back with the results in a few hours.
@mhaessig @eme64 : Thanks for the reviews and testing.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28364#issuecomment-3555471264
More information about the hotspot-compiler-dev
mailing list