[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-compiler-dev
Subject:    [8u] RFR for backport of 8198894 (CRC32 1/4): [PPC64] More generic vector CRC implementation
From:       Gustavo Romero <gromero () linux ! vnet ! ibm ! com>
Date:       2019-09-27 3:31:27
Message-ID: 0dc83fcb-4e09-5841-04be-aee615e5a7fd () linux ! vnet ! ibm ! com
[Download RAW message or body]

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic