> Curve25519 polynomial arithmetic is performed with intrinsincs implemented in > GPR related instructions for multiplication and squaring operations (methods > mult() and square()). Benchmark improvements include: > > - X25519 encapsulation: +19% > - X25519 decapsulation: +19% > - X25519-MLKEM encapsulation: +12% > - X25519-MLKEM decapsulation: +15% > - X22519 key agreement: +19% > - X25519 key-pair generation: +19% > - X25519-MLKEM key-pair generation: +13% > - EdDSA key-pair generation: +20% > - EdDSA signing: +19% > > --------- > - [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 41 commits: - Comments from @vpaprotsk - Merge with master - Remove commented code - Comments from @vpaprotsk - Add square() intrinsics - 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 - ... and 31 more: https://git.openjdk.org/jdk/compare/114e3c61...bfd4b74b ------------- Changes: https://git.openjdk.org/jdk/pull/31087/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31087&range=04 Stats: 459 lines in 16 files changed: 452 ins; 0 del; 7 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
