RFR: 8337666: AArch64: SHA3 GPR intrinsic [v2]
Emanuel Peter
epeter at openjdk.org
Wed Jun 4 08:24:23 UTC 2025
On Fri, 30 May 2025 18:24:22 GMT, Dmitry Chuyko <dchuyko at openjdk.org> wrote:
>> Dmitry Chuyko has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>>
>> - Copyright year
>> - Review suggestions
>> - Merge master
>> - Delete empty line
>> - SHA3 GPR intrinsic & tests
>
> GPR rol, rax and rax1 pseudo instructions were added in MacroAssembler.
>
> Main loop and "bcax"/Chi parts were extracted as functions.
>
> Main loop counter was put in fp register with fp decrement and fcmp (this variant does have a positive impact).
>
> Updated results from Graviton machines (Linux, intrinsic vs C2):
>
> Benchmark (digesterName) (length) Pct
> G2
> MessageDigests.digest SHA3-256 64 +20.8%
> MessageDigests.digest SHA3-256 16384 +27.2%
> G3
> MessageDigests.digest SHA3-256 64 +12.8%
> MessageDigests.digest SHA3-256 16384 +15.7%
> G4
> MessageDigests.digest SHA3-256 64 +9.7%
> MessageDigests.digest SHA3-256 16384 +13.2%
@dchuyko Thanks for working on this! I have quickly scanned the code, and it looks reasonable, though I am not an intrinsics specialist. I'll not run some internal testing, feel free to ping me again in 24h.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24260#issuecomment-2939079640
More information about the hotspot-dev
mailing list