[RFC]: Removing old Falkor ifuncs

Wilco Dijkstra Wilco.Dijkstra@arm.com
Wed Dec 21 17:27:08 GMT 2022


Hi Siddhesh,

>>On 2022-12-09 10:14, Wilco Dijkstra wrote:
>>> Do we need the ifuncs for Falkor? The SIMD memcpy is now the default
>>> generic memcpy and that is quite similar to the Falkor one, so it seems
>>> time to remove the Falkor variants. Since you are the original author,
>>> what do you think?
>>
>> The key differentiator in memcpy/memmove at that time was the register 
>> number usage since that affected how the hardware prefetcher performed. 
>> Changing that might affect performance on falkor, although I don't 
>> exactly remember by how much.
>
> If there was a difference, it would likely be on large copies. But it would be hard
> to test without access to a machine...

I managed to get an old Falkor revived, so was able to finally run benchtests.
The new generic memcpy is about 10% faster on bench-memcpy-random test
when sizes fit in L1, and about 5% faster overall. Bench-memcpy-large and -walk
are very similar, so it doesn't seem to have any effect on prefetching in large copies.

So it looks like the new generic memcpy is better overall.

Cheers,
Wilco


More information about the Libc-alpha mailing list