JDK-8129238 : ghash intrinsic code is not portable upwards to EVEX.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: generic
  • CPU: x86
  • Submitted: 2015-06-18
  • Updated: 2016-07-08
  • Resolved: 2016-07-08
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 9
9Resolved
Related Reports
Relates :  
Relates :  
Description
The recent ghash check-in (8073108) is not portable upwards to EVEX.   Some of the instructions like pclmulqdq are only supported as legacy instructions, also the register save/restore regions are too small and not conditionally mapped to check for EVEX, you will see example around though, so fixing that should be trivial. Instructions like pshufb/pslldq will be forcibly coded to legacy instructions on KNL, meaning if you change the code to use the upper bank of registers you will need to copy a register down to the lower bank to use them there(legacy means only xmm0..xmm15 can be used).  You will need to change both stub generators in 64 bit.
Comments
Closing based on Michael comment.
08-07-2016

After the addition of blended code generation on fully enabled EVEX targets like SKX, the ghash intrinsic is emitted as a fully AVX encoded stub, bypassing EVEX encoding entirely. On KNL the intrinsic is also emitted as fully AVX as it is 128bit complaint and does not utilize the upper bank resources as the registers are pinned to physical names. I would proceed to close since there does not appear to be an issue here.
08-07-2016

ILW = broken GHASH intrinsics; x86 w/ AVX-512 are affected; disable affected intrinsics = HLM = P3
08-07-2015