JDK-8259773 : Incorrect encoding of AVX-512 kmovq instruction
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,16,17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: x86
  • Submitted: 2021-01-14
  • Updated: 2021-02-08
  • Resolved: 2021-01-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 16 JDK 17
11.0.11Fixed 16.0.1Fixed 17 b06Fixed
Related Reports
Relates :  
Description
While working on the prototype for supporting register allocation of opmask registers encountered this bug.

Encoding for following instruction which spills the value of an opmask register into memory  should have 0x91 as the opcode instead of 0x90.

KMOVQ  Address , K1.

Comments
Fix Request (11u) This resolves the potentially breaking issue and keeps codebases in sync (I see 11.0.12-oracle). Affected instruction is still unused in 11u, AFAICS. Patch applies cleanly, patched JDK passes tier{1,2,3} tests.
04-02-2021

Fix Request (JDK 16u): This fixes an incorrect encoding of a (currently unused) instruction. The fix is trivial and low risk. The patch applies cleanly to JDK 16u.
28-01-2021

[~jbhateja] this is not a problem with current code because that version of the instruction is not used, right? ILW = Incorrect instruction encoding (not a problem with current code), single unused instruction, no workaround = MLH = P4
14-01-2021

Changeset: ff3e6e46 Author: Jatin Bhateja <jbhateja@openjdk.org> Date: 2021-01-14 13:20:06 +0000 URL: https://git.openjdk.java.net/jdk/commit/ff3e6e46
14-01-2021