This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH v2] ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC.
- From: Siddhesh Poyarekar <siddhesh dot poyarekar at gmail dot com>
- To: Will Newton <will dot newton at linaro dot org>
- Cc: Richard Henderson <rth at twiddle dot net>, libc-ports at sourceware dot org, Patch Tracking <patches at linaro dot org>
- Date: Thu, 18 Apr 2013 23:28:24 +0530
- Subject: Re: [PATCH v2] ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC.
- References: <516D18F0 dot 4060009 at linaro dot org> <516EC27E dot 8080502 at twiddle dot net> <CANu=DmgZjMZdijjjsxnECU9CMJmNkUqTbYctp+WA_VxmTN=O-A at mail dot gmail dot com> <516FA3CF dot 8080200 at twiddle dot net> <CAAHN_R0cE3LQVH9iEENaS=6Zq2U2E1Fa6SkUyQGYd-z0w7Ki_Q at mail dot gmail dot com> <CANu=DmjTT6ydMcvqWZ=M5ckQE9Riqt0k+BCRSrR6hFrkLB0TOA at mail dot gmail dot com> <CAAHN_R1DWZ7tat4kyouUa+v4DVYCSHQ44FAe6c75_JgfhQNnRA at mail dot gmail dot com>
On 18 April 2013 13:55, Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com> wrote:
> On 18 April 2013 13:24, Will Newton <will.newton@linaro.org> wrote:
>> Thanks for the offer, I don't have any armv6 hardware to test with.
>> The easiest way to test is probably using the cortex-strings package
>> (as the patch I posted is for armv7).
>>
>> https://launchpad.net/cortex-strings
>>
>> "try-this -t memcpy" will benchmark the code I submitted, "try-glibc
>> -t memcpy" will benchmark the current glibc code.
>
> OK, I'll try to do this tonight (i.e. ~8 hours from now) since the
> board is at home and I'm not. I assume you want 'current glibc code'
> to be master? The distribution version is 2.17 IIRC or at worst 2.16.
`try-this` crashes with a SIGILL:
Program received signal SIGILL, Illegal instruction.
memset () at src/linaro-a9/memset.S:64
64 cbz r2, 10f @ Exit if 0 length
(gdb) bt
I don't know much arm assembly, but digging around a bit I found that
cbz is implemented on armv6T2 or later and hence not available on my
board. If you're interested in making this work on armv6 then I can
give this a shot - I've been meaning to start playing with arm
assembly anyway.
Siddhesh
--
http://siddhesh.in