[8u] RFR(v2) for backport of JDK-8188868: PPC64: Support AES intrinsics on Big Endian
Kazunori Ogata
OGATAK at jp.ibm.com
Tue Dec 11 09:00:09 UTC 2018
Hi,
May I get reviews for revised request for enhancement backport of
JDK-8188868: PPC64: Support AES intrinsics on Big Endian [12]?
After the discussion in Nov. [13], I found that some older patches also
need to be backported to reduce the amount of manual changes. So the
following is the final list (newer one first) of backported patches, with
comments how I modified them. I ran JTREG in CentOS7 BE on POWER8 using
each of debug build after applying [4] and newer and the release build of
[1], and found no degradation by these patches. I also verified that the
code [1] was built and ran in Ubuntu ppc64le correctly.
[1] 8188868: PPC64: Support AES intrinsics on Big Endian
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/9d337e48b178
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8188868/webrev.01/
Comments: No conflict.
[2] 8185979: PPC64: Implement SHA2 intrinsic
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/f4962ab855b6
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8185979/webrev.01/
Comments: Fixed difference of intrinsic calling convention by passing
additional argument word for each Long parameter. Also modified test code
support ppc.
[3] 8185969: PPC64: Improve VSR support to use up to 64 registers
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/057f21a10f5f
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8185969/webrev.01/
Comments: Cherry picked MTVSRWA_OPCODE from [11].
[4] 8185975: PPC64: Fix vsldoi interface according to the ISA
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/1bf8c1e8b79a
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8185975/webrev.01/
Comments: Applied cleanly. This is the same change as what Gustavo
requested RFA to 8u-dev ML last week [14] (besides the copyright dates
because they are already updated in the patches below). Since this patch
has no conflict with other changes, we can skip this one when [14] was
approved.
[5] 8166684: PPC64: implement intrinsic code with vector instructions for
Unsafe.copyMemory()
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/f1e6a21095f5
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8166684/webrev.01/
Comments: Applied cleanly.
[6] 8158232: PPC64: improve byte, int and long array copy stubs by using
VSX instructions
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/987528901b83
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8158232/webrev.01/
Comments: No conflict, but applied manually because patch command got
confused and failed to find the code to apply.
[7] 8154156: PPC64: improve array copy stubs by using vector instructions
Original patch: http://hg.openjdk.java.net/jdk/jdk/rev/c9d756fa846e
Weberv:
http://cr.openjdk.java.net/~horii/jdk8u_aes_be/8154156/webrev.01/
Comments: This patch cherry picked config_dscr() and its dependent
code from [9,10] and has_mfdscr() from [8].
Cherry picked patches:
[8] 8149655: PPC64: Implement CompactString intrinsics
http://hg.openjdk.java.net/jdk/jdk/rev/6241574f5982
[9] 8080684: PPC64: Fix little-endian build after "8077838: Recent
developments for ppc"
http://hg.openjdk.java.net/jdk/jdk/rev/12ccf8b26eb0
[10] 8077838: Recent developments for ppc.
http://hg.openjdk.java.net/jdk/jdk/rev/c703c89fddbf
[11] 8181809: PPC64: Leverage mtfprd/mffprd on POWER8
http://hg.openjdk.java.net/jdk/jdk/rev/3fd9b25850f4
Other references:
[12] https://bugs.openjdk.java.net/browse/JDK-8188868
[13]
http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2018-November/003746.html
[14]
http://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-December/008276.html
Regards,
Ogata
More information about the ppc-aix-port-dev
mailing list