|
Message-ID: <20130228233051.GO20323@brightrain.aerifal.cx> Date: Thu, 28 Feb 2013 18:30:51 -0500 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: ARM optimisations On Fri, Mar 01, 2013 at 12:15:21PM +1300, Andre Renaud wrote: > Hi, > Can anyone tell me what the policy for musl is regarding ARM optimised > assembly implementations of functions such as memcpy/memmove? I notice > that there are i386/x86_64 versions for some of these. Doing some > simple testing on an ARM platform I found that an ARM asm > implementation of memcpy is ~80% faster than the C one currently in > MUSL (this is on an ARMv5, so no NEON instructions or similar). > > I don't think I'm capable of writing the optimised version entirely > myself, however there are various implementations floating around in > libraries such as bionic etc... Is it possible to have BSD licensed > code brought in to musl (which is MIT licensed)? ARM optimizations are welcome as long as they're thoroughly tested, not heavily bloated, and support all v4 (including no-thumb) and later cpu models, either by using universally-available features or conditioning use of features on the .hidden __hwcap provided in musl. Modern BSD license without advert clause is fully compatible with MIT license, so I don't have an objection to such code, but I'm also not a fan of pure copy-and-paste coding. If nothing else, imported code would probably need to be cleaned up to build as .s rather than .S, removing #ifdefs and stuff like that. If you'd like to introduce some possible implementations we could use or just ideas for how these functions should work, myself and others on the project would be happy to review them. Rich
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.