![]() |
|
Message-ID: <599d592b-6828-4088-80bd-e9df7429c8d0@isrc.iscas.ac.cn> Date: Fri, 26 Sep 2025 19:21:56 +0800 From: Pincheng Wang <pincheng.plct@...c.iscas.ac.cn> To: musl@...ts.openwall.com, Markus Wichmann <nullplan@....net> Cc: Yao Zi <ziyao@...root.org> Subject: Re: [PATCH 1/1] riscv64: optimize memset implementation with vector extension On 2025/9/26 11:37, Markus Wichmann wrote: > Am Fri, Sep 26, 2025 at 08:31:53AM +0800 schrieb Pincheng Wang: >> I am investigating a runtime detection and dispatch mechanism to select the >> appropriate implementation based on actual hardware support. If I make >> progress on this and verify it works as expected, I will update the approach >> in a v2 patch. >> > > There seems to be a hwcap flag for ISA_V that might be usable. Not sure > if it is any help for memcpy() though, because memcpy() is a function > GCC can insert calls to at any point, including the dynamic linker > stages 1 and 2, and references to libc.hwcap are invalid there. The only > solution I see is to explicitly switch to the optimized version after it > is possible to do so and use the generic version for starters. But that > would be a bit of a larger change to the code base. > > Ciao, > Markus Hi, Markus Thanks for your suggestion! I do plan to use hwcap to detect the V extension, similar to implementations on other platforms. Your point about hwcap being unavailable during the linker's bootstrap stage is indeed very helpful - I hadn't fully considered that. I'll look into adopting your suggestion: using a generic implementation initially and explicitly switching to the optimized version once hwcap becomes available. However, I can't yet be certain about the exact implementation details, as this will require some time for coding and testing. Moreover, since I haven't found any existing RISC-V examples of such detection-and-dispatch mechanisms, and given that this approach would indeed entail significant changes to the dynamic linker, I plan to send the v2 patch as an RFC after I finish my current work. Thank you again for your insightful comments and suggestions! Best regards, Pincheng Wang
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.