This intrinsic is generally faster than the current implementation for Panama segment operations for all writes larger than about 8 bytes in size, increasing to more than 2* the performance on larger memory blocks on Graviton 2, between "panama" (C2 generated, what we use now) and "unsafe" (this intrinsic).
Benchmark (aligned) (size) Mode Cnt Score Error Units MemorySegmentFillUnsafe.panama true 262143 avgt 10 7295.638 ± 0.422 ns/op MemorySegmentFillUnsafe.panama false 262143 avgt 10 8345.300 ± 80.161 ns/op MemorySegmentFillUnsafe.unsafe true 262143 avgt 10 2930.594 ± 0.180 ns/op MemorySegmentFillUnsafe.unsafe false 262143 avgt 10 3136.828 ± 0.232 ns/op ------------- Commit messages: - 8354674: AArch64: Intrinsify Unsafe::setMemory - New test - Cleanup - Fixes - next cut - First cut Changes: https://git.openjdk.org/jdk/pull/25147/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25147&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8354674 Stats: 99 lines in 2 files changed: 96 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/25147.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/25147/head:pull/25147 PR: https://git.openjdk.org/jdk/pull/25147