RFR: 8350835: C2 SuperWord: assert/wrong result when using Float.float16ToFloat with byte instead of short input [v2]
Jatin Bhateja
jbhateja at openjdk.org
Wed Mar 12 03:40:57 UTC 2025
On Mon, 10 Mar 2025 21:26:41 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> Float.float16ToFloat generates wrong vectorized code in product build and asserts in fastdebug/debug when argument is of type byte, int, or long array. The short term solution is to not auto vectorize in these cases.
>>
>> Review comments are welcome.
>>
>> Best Regards,
>> Sandhya
>
> Sandhya Viswanathan has updated the pull request incrementally with one additional commit since the last revision:
>
> review comments
test/hotspot/jtreg/compiler/vectorization/TestFloat16ToFloatConv.java line 78:
> 76: @IR(counts = {IRNode.VECTOR_CAST_HF2F, "> 0"},
> 77: applyIfOr = {"UseCompactObjectHeaders", "false", "AlignVector", "false"},
> 78: applyIfPlatformOr = {"x64", "true", "aarch64", "true", "riscv64", "true"},
Can you kindly justify the need for compressed object header usage, it will mainly impact the pre-loop trip count compuation. AlignVector should be sufficient since it's a whitelisted option
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23939#discussion_r1990497448
More information about the hotspot-compiler-dev
mailing list