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