[PATCH v3 5/5] AArch64: Improve A64FX memset

Wilco Dijkstra Wilco.Dijkstra@arm.com
Mon Aug 23 16:50:50 GMT 2021


Hi Naohiro,

> In my environment, I don't have any performance degradation by reverting unroll8,
> but 16KB performance improvement as shown in the graphs.

I still see a major regression at 1KB in the graph (it is larger relatively than the gain at 16KB),
plus many smaller regressions between 2KB-8KB.

> In your environment, do you have any performance degradation by reverting unroll8?
> If there is no disadvantage by reverting unroll8, why don't we revert it?

For me bench-memset shows a 50% regression with the unroll8 loop reverted plus
many smaller regressions. So I don't think reverting is a good idea.

I tried "perf stat" and oddly enough this loop causes a lot of branch mispredictions.
However if you add a branch at the top of the loop that is never taken (eg. blt and
ensuring the sub above it sets the flags), it becomes faster than the best results so far.
If you can reproduce that, it is probably the best workaround.

> Is it HPE Apollo 80 System?
> Or does ARM Company have an account to Fujitsu FX1000 or FX700?

It has 48 cores, that's all I know...

Cheers,
Wilco


More information about the Libc-alpha mailing list