This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Jun 29 14:32, Wilco Dijkstra wrote: > This is an optimized memcmp for AArch64. This is a complete rewrite > using a different algorithm. The previous version split into cases > where both inputs were aligned, the inputs were mutually aligned and > unaligned using a byte loop. The new version combines all these cases, > while small inputs of less than 8 bytes are handled separately. > > This allows the main code to be sped up using unaligned loads since > there are now at least 8 bytes to be compared. After the first 8 bytes, > align the first input. This ensures each iteration does at most one > unaligned access and mutually aligned inputs behave as aligned. > After the main loop, process the last 8 bytes using unaligned accesses. > > This improves performance of (mutually) aligned cases by 25% and > unaligned by >500% (yes >6 times faster) on large inputs. > > ChangeLog: > 2017-06-28 Wilco Dijkstra <wdijkstr@arm.com> > > * newlib/libc/machine/aarch64/memcmp.S (memcmp): > Rewrite of optimized memcmp. Pushed. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |