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