[PATCH] AArch64: Check kernel version for SVE ifuncs

Wilco Dijkstra Wilco.Dijkstra@arm.com
Wed Mar 13 20:44:31 GMT 2024


Hi Andrew,

> Does it make sense to check prefer_sve_ifuncs before checking IS_A64FX
> because this is about the use of SVE registers and the kernel version
> and the a64fx versions use SVE too?
>
> That is doing:
> if (!prefer_sve_ifuncs)
>   return __memcpy_generic;
> if (IS_A64FX (midr))
>   return __memcpy_a64fx;
> return __memcpy_sve;

The A64FX memcpy shows a major speedup due to the very wide SVE registers. It runs
floating point code, not general purpose server code. Since the benefit of SVE is larger
and the likelihood of system calls far lower, there is no reason to change the default
for A64FX.

Cheers,
Wilco


More information about the Libc-alpha mailing list