RFR: 8338126 : C2 SuperWord: VectorCastF2HF / vcvtps2ph produces wrong results for vector length 2
Emanuel Peter
epeter at openjdk.org
Mon Oct 14 12:21:16 UTC 2024
On Fri, 11 Oct 2024 23:27:35 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
> When Float.floatToFloat16 is vectorized using a 2-element vector width due to dependencies, we incorrectly generate a 4-element vcvtps2ph with memory as destination storing 8 bytes instead of desired 4 bytes. This issue is fixed in this PR by limiting the memory version of match rule to 4-element vector and above.
> Also a regression test case is added accordingly.
>
> Best Regards,
> Sandhya
test/hotspot/jtreg/compiler/vectorization/TestFloatConversionsVector.java line 76:
> 74: sout[i+1] = Float.floatToFloat16(finp[i+1]);
> 75: }
> 76: }
Your test looks different than the one that I added on JIRA. Can you please add that one as well?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21480#discussion_r1799399301
More information about the hotspot-compiler-dev
mailing list