[PATCH, NEWLIB/ARM] Optimise memchr for NEON-enabled processors

Corinna Vinschen vinschen@redhat.com
Thu Apr 6 16:20:00 GMT 2017


On Apr  5 13:39, Prakhar Bahuguna wrote:
> 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?

Applied.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20170406/0a74af5c/attachment.sig>


More information about the Newlib mailing list