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] |
This patch provides an optimised implementation of memchr using NEON instructions to improve its performance, especially with longer search regions. This gave at least double the performance against the Thumb2+DSP optimised code, with as much as quadruple performance for larger inputs. The NEON code also wins in cases where the input is small (less than 8 bytes) by defaulting to a simple byte-by-byte search. This avoids the overhead imposed by filling two quadword registers from memory. newlib/ChangeLog: 2017-01-26 Prakhar Bahuguna <prakhar.bahuguna@arm.com> * newlib/libc/machine/arm/memchr-stub.c: Add __ARM_NEON__ ifdef. Change if to elif. * newlib/libc/machine/arm/memchr.S: Add __ARM_NEON__ ifdef. Add NEON-optimised memchr implementation. Change if to elif. Testing done: Ran regression tests for arm-eabi-none, and benchmark tests on hardware. Okay for master? -- Prakhar Bahuguna
Attachment:
0001-Optimise-memchr-for-NEON-enabled-processors.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |