RFR: 8350840: C2: x64 Assembler::vpcmpeqq assert: failed: XMM register should be 0-15

Jatin Bhateja jbhateja at openjdk.org
Tue Mar 11 10:52:04 UTC 2025


This bug fix patch addressed an assertion failure due to unexpected register operand encoding.
AVX2 flavour of instruction "vpcmpeqq" expects to operate over XMM registers from lower register bank (0-15), in this case, the register mask associated with the destination vector operand of the matcher pattern also includes registers from the higher bank.

The issue can be reliably reproduced if we modify the static allocation order of XMM register through AD file change.
Existing bug [JDK-8343294](https://bugs.openjdk.org/browse/JDK-8343294) already tracks the requirement to randomize the allocation ordering.

Kindly review and share your feedback.

Best Regards,
Jatin

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

Commit messages:
 - 8350840: C2: x64 Assembler::vpcmpeqq assert: failed: XMM register should be 0-15

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

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


More information about the hotspot-compiler-dev mailing list