[U-Boot] [PATCH] uboot optimize memmove

Will Newton will.newton at linaro.org
Mon Jul 29 12:34:14 CEST 2013


On 29 July 2013 09:44, Andy Green <andy.green at linaro.org> wrote:
> Looping Will...
>
> On 29 July 2013 16:28, Dirk Behme <dirk.behme at de.bosch.com> wrote:
>> On 26.07.2013 15:42, Andy Green wrote:
>>>
>>> On 26 July 2013 20:58, Wolfgang Denk <wd at denx.de> wrote:
>>
>> ...
>>>>
>>>> you not make sure that you provide optimized implementations for such
>>>> functions and consequently #define __HAVE_ARCH_MEMMOVE (and
>>>> __HAVE_ARCH_MEMCPY) ?
>>>
>>>
>>> Yes I found these afterwards... performance is slightly better than
>>> memcpy() thanks to Nicolas Pitre it seems.  The U-Boot config for the
>>> platform we have didn't know about them, it's much better with them.
>>>
>>> After I wrote this patch it was also pointed out by Will Newton at
>>> Linaro that we have Neon accelerated memcpy lying around with BSD
>>> license....
>>>
>>> https://launchpad.net/cortex-strings
>>>
>>> however for my purposes NOR boot is working good enough with the ARCH
>>> versions.
>>
>>
>> I've had a look to
>>
>> https://launchpad.net/cortex-strings
>>
>> and there downloaded
>>
>> https://launchpad.net/cortex-strings/trunk/2013.01/+download/cortex-strings-1.0-2013.01.tar.bz2
>>
>> (from the green download button on the right side).
>>
>> The README mentions
>>
>> src/neon  contains NEON based routines for AArch32.
>>
>> but the cortex-strings-1.0-2013.01.tar.bz2 seems to contain an empty
>> src/neon directory. Is this intended?
>
> I don't know... I agree that dir is empty... Will, do you know the
> story?  I found nice-looking ones in reference/newlib but I don't
> think they're NEON.

The fast memcpy code is in src/linaro-a9/memcpy.S. The directory
structure pre-dates my involvement with the project so I cannot
explain it completely. ;-)

--
Will Newton
Toolchain Working Group, Linaro


More information about the U-Boot mailing list