[8u] RFR for backport of 8198894 (CRC32 1/4): [PPC64] More generic vector CRC implementation

Doerr, Martin martin.doerr at sap.com
Tue Oct 22 14:37:09 UTC 2019


Hi Gustavo,

backport looks good. The parts you have collected from other changes make sense to me.

Best regards,
Martin


> -----Original Message-----
> From: Gustavo Romero <gromero at linux.vnet.ibm.com>
> Sent: Freitag, 27. September 2019 05:31
> To: hotspot-compiler-dev at openjdk.java.net; Doerr, Martin
> <martin.doerr at sap.com>
> Cc: jdk8u-dev at openjdk.java.net; Michihiro Horie <HORIE at jp.ibm.com>;
> Kazunori Ogata <OGATAK at jp.ibm.com>
> Subject: [8u] RFR for backport of 8198894 (CRC32 1/4): [PPC64] More generic
> vector CRC implementation
> 
> Hi,
> 
> Could the following backport for jdk8u be reviewed please?
> 
> The original change was mainly written to provide a better implementation
> for
> CRC32 and CRC32C, but it also improved the CRC32 performance in general.
> This
> backport is the first change of a patchset comprised of 4 changes aimed to
> backport all the latest CRC32 missing parts from JDK 11u.
> 
> It's a PPC64-only change.
> 
> Bug     : https://bugs.openjdk.java.net/browse/JDK-8198894
> Original: http://hg.openjdk.java.net/jdk/jdk/rev/7cd503c499a0
> Backport: http://cr.openjdk.java.net/~gromero/crc32_jdk8u/for-
> review/8198894/
> 
> It was necessary to backport it to:
> 
> - Adapt the file names to OpenJDK 8u
> - Remove CRC32C part, leaving only CRC32 part, since OpenJDK 8u has no
> CRC32C
> - Add Assembler::add_const_optimized() from "8077838: Recent
> developments for ppc" [0]
> - Fix vpermxor() opcode, replacing VPMSUMW_OPCODE by
> VPERMXOR_OPCODE,
>    accordingly to fix in "8190781: ppc64 + s390: Fix CriticalJNINatives" [1]
> - Adapt signatures for the following functions and their callers, accordingly to
>    "8175369: [ppc] Provide intrinsic implementation for CRC32C" [2], also to
> ease
>    subsequent backports in this patchset:
>     a. MacroAssembler::update_byteLoop_crc32(), removing 'invertCRC'
> parameter
>     b. MacroAssembler::kernel_crc32_1word(), adding 'invertCRC' parameter
> 
> 
> Thank you.
> 
> Best regards,
> Gustavo
> 
> [0] http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/88847a1b3718
> [1] http://hg.openjdk.java.net/jdk/jdk/rev/5a69ba3a4fd1#l1.7
> [2] https://bugs.openjdk.java.net/browse/JDK-8175369


More information about the hotspot-compiler-dev mailing list