RFR: 8338126 : C2 SuperWord: VectorCastF2HF / vcvtps2ph produces wrong results for vector length 2
Sandhya Viswanathan
sviswanathan at openjdk.org
Fri Oct 11 23:35:06 UTC 2024
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
-------------
Commit messages:
- 8338126 : C2 SuperWord: VectorCastF2HF / vcvtps2ph produces wrong results for vector length 2
Changes: https://git.openjdk.org/jdk/pull/21480/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21480&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8338126
Stats: 20 lines in 2 files changed: 19 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/21480.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/21480/head:pull/21480
PR: https://git.openjdk.org/jdk/pull/21480
More information about the hotspot-compiler-dev
mailing list