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