Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 2 Mar 2013 12:34:41 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: ARM optimisations

* Rob Landley <rob@...dley.net> [2013-03-01 22:33:19 -0600]:
> I'd actually say that armv5 is probably the one to optimize for,
> because it's somewhere over 80% of the installed base of arm systems
> and generally provides an additonal 25% speedup from armv4 to armv5.
> Anything lower than that can use C, anything newer than that can
> benefit from an armv5 version vs C.
...
> I believe armv6 was mostly just SMP extensions, so not worth
> optimizing memcpy for. armv7 is nice but not uibiquitous the way
> armv5 is, and armv7 brings with it the "thumb2" instruction set
> which means you'd need 2 versions depending on what target you
> wanted to compile for...

a quick research shows that

glibc has ifdefs for armv5te and armv4t optimizations
http://sourceware.org/git/?p=glibc.git;a=blob;f=ports/sysdeps/arm/memcpy.S

linaro has armv7 optimized version
http://bazaar.launchpad.net/~linaro-toolchain-dev/cortex-strings/trunk/view/head:/src/linaro-a9/memcpy.S

olibc (the bionic one not the openbsd one) has armv7+neon optimized memcpy
https://github.com/olibc/olibc/blob/master/libc/arch-arm/bionic/memcpy.S

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.