> Curve25519 polynomial arithmetic is performed with intrinsincs implemented in > GPR related instructions for multiplication operations (method mult()). > Benchmark improvements include: > > - X25519 encapsulation: +17% > - X25519 decapsulation: +17% > - X25519-MLKEM encapsulation: +12% > - X25519-MLKEM decapsulation: +9% > - X22519 key agreement: +16% > - X25519 key-pair generation: +16% > - X25519-MLKEM key-pair generation: +10% > - EdDSA key-pair generation: +19% > - EdDSA signing: +17% > > --------- > - [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 pull request now contains 36 commits: - Merge branch 'openjdk:master' into JDK-8371305-2 - Use separate intrinsics flag: UseIntPoly25519Intrinsics - Remove AVX-512 related code Complete GPR code - 8371305: X25519 should utilize intrinsics - Fix variable names and eliminate unneeded variables - Remove unnecessary left and right shift for unsigned to signed conversion Remove unnecessary left shift for 52 to 51 bit conversion - Ferenc comments: use separate registers for B Ferenc comments: use masked register load from memory Ferenc comments: change madd52 ordering Ferenc comments: change mask ordering Cleanup variable names - Account for when both limbs are negative and correct the carry-add reduction Ferenc comments: update register initilization, double Acc2 values, and fix typo - Fix multiple mask issues - Optimize normalization with mask subtraction technique - ... and 26 more: https://git.openjdk.org/jdk/compare/22b46872...7d9260e3 ------------- Changes: https://git.openjdk.org/jdk/pull/31087/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31087&range=01 Stats: 260 lines in 17 files changed: 252 ins; 0 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/31087.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31087/head:pull/31087 PR: https://git.openjdk.org/jdk/pull/31087
