RFR: 8309601: [JVMCI] AMD64#getLargestStorableKind returns incorrect mask kind

Gergö Barany gbarany at openjdk.org
Tue Jun 13 13:12:09 UTC 2023


`jdk.vm.ci.amd64.AMD64#getLargestStorableKind(RegisterCategory)` unconditionally returns `AMD64Kind.MASK64` for mask registers. This is only correct if the target supports AVX512BW. On other AVX512 versions this should be `MASK16`.

The Graal compiler uses this method to determine how to spill a given register. An incorrect size will lead to compilation errors due to trying to emit a move with a size that is not supported by the target. I have manually verified that this fixes those problems.

-------------

Commit messages:
 - 8309601: [JVMCI] Fix AMD64.getLargestStorableKind for AVX512 masks

Changes: https://git.openjdk.org/jdk/pull/14441/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14441&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8309601
  Stats: 11 lines in 1 file changed: 9 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/14441.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14441/head:pull/14441

PR: https://git.openjdk.org/jdk/pull/14441


More information about the graal-dev mailing list