[PATCH] benchtests: Add memset zero fill benchmark tests

Wilco Dijkstra Wilco.Dijkstra@arm.com
Tue Jul 20 10:29:52 GMT 2021


Hi Naohiro,

> In case of zero-over-zero, it's very interesting that memset_generic is faster than memset_a64fx.

That's because it uses DC ZVA for the full range rather than only for sizes > 8MB like in memset v2.

> On the other hand, however, in case of zero-over-one, memset_a64fx is faster is faster than memset_generic.
> It may be due to SVE code.

Yes, you get more bandwidth with 512-bit SVE stores than 128-bit Neon stores.

> Comparing the memset_generic performance, that is non SVE code, between zero-over-zero and
> zero-over-one, it seems that a64fx micro-architecture has some zero-over-zero optimization?.

No, that does not prove that the previous value matters, just that storing zeroes is faster.

Cheers,
Wilco


More information about the Libc-alpha mailing list