[llvm] [WebAssembly] Align bulk-memory thresholds (PR #134816)
Sam Parker via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 9 01:03:23 PDT 2025
sparker-arm wrote:
Yes, I ran my benchmark suite for V8 on x86_64 and AArch64 Linux. This is actually, slightly, beneficial for AArch64 (~1%) and, a slight, regression for x64 (~1%). This is due to the fact that explicit bounds checks are still used for most stores on AArch64 Linux.
The only inherent overhead of these operations are the bounds checks before the memory accesses, but given that the high-level nature of the instructions should allow the use of wide vector extensions, such as AVX, I expect that small overhead would be overcome. I'm currently looking at ways of optimising this in V8.
My setup is all wasi based so I can't get number for memory64, but I have a strong suspicion that this change would benefit there as explicit bounds checks are likely required more often. So, the overhead of bulk-memory ends up being far less than for a sequence of loads and stores.
https://github.com/llvm/llvm-project/pull/134816
More information about the llvm-commits
mailing list