> Currently, P-384 field operations use 14x28-bit limbs. The efficiency of > these operations vastly improve by using a 7x55-bit limb configuration. > Performance gains yield 32% to 52% for Java alone: > > AArch64: > Key pair generation - P-384: +51% > Key agreement - P-384: +51% > > Key pair generation - secP384r1MLKEM1024: +50% > KEM decapsulation - secP384r1MLKEM1024: +49% > KEM encapsulation - secP384r1MLKEM1024: +52% > > x86_64: > Key pair generation - P-384: +35% > Key agreement - P-384: +35% > > Key pair generation - secP384r1MLKEM1024: +32% > KEM decapsulation - secP384r1MLKEM1024: +32% > KEM encapsulation - secP384r1MLKEM1024: +33% > > --------- > - [X] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Shawn Emery has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision: - Fix issue for Windows x64 where tmp and length use the same register Add support for conditional assign with 7 limbs on AArch64 and x86_64 - Merge with master branch - Improve x86_64 performance by 13% - Merge carryReduceUpper with reduce and fix/add more comments - Fix square method - Implement multByInt and square - Fix finalCarryReduceLast and mult - Fix reduceIn, carryReduceUpper, and carryReduceLower - Fix reduceIn, carryReduce, and reduce - Cleanup whitespace - ... and 2 more: https://git.openjdk.org/jdk/compare/33c12fed...0b3a1656 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/33193/files - new: https://git.openjdk.org/jdk/pull/33193/files/68cd0824..0b3a1656 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=33193&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=33193&range=01-02 Stats: 113441 lines in 2577 files changed: 68169 ins; 31971 del; 13301 mod Patch: https://git.openjdk.org/jdk/pull/33193.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33193/head:pull/33193 PR: https://git.openjdk.org/jdk/pull/33193
