[8u] RFR(v2) for backport of JDK-8188868: PPC64: Support AES intrinsics on Big Endian
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... [14] http://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-December/008276.html Regards, Ogata
participants (1)
-
Kazunori Ogata