Re: CVS commit: src/common/lib/libc/arch/arm/string

2013-01-15 Thread Matt Thomas

On Jan 15, 2013, at 12:10 AM, David Laight wrote:

 On Tue, Jan 15, 2013 at 02:03:31AM +, Matt Thomas wrote:
 Module Name: src
 Committed By:matt
 Date:Tue Jan 15 02:03:31 UTC 2013
 
 Added Files:
  src/common/lib/libc/arch/arm/string: strchr_naive.S strrchr_naive.S
 
 Log Message:
 Add simple/small versions of strchr/strrchr for ARM.
 
 If you use 'preindex with writeback' you can remove an instruction
 from the loop (in strchr at least).

I pretty much already do that.

 I'm also intrigued that these are the very simple/small versions
 whereas the memcpy() (I think) was one that did all the alignment
 and double-word copies!

As I said in its commit, the stupid version was very very slow.



Re: CVS commit: src/common/lib/libc/arch/arm/string

2013-01-14 Thread David Laight
On Tue, Jan 15, 2013 at 02:03:31AM +, Matt Thomas wrote:
 Module Name:  src
 Committed By: matt
 Date: Tue Jan 15 02:03:31 UTC 2013
 
 Added Files:
   src/common/lib/libc/arch/arm/string: strchr_naive.S strrchr_naive.S
 
 Log Message:
 Add simple/small versions of strchr/strrchr for ARM.

If you use 'preindex with writeback' you can remove an instruction
from the loop (in strchr at least).

I'm also intrigued that these are the very simple/small versions
whereas the memcpy() (I think) was one that did all the alignment
and double-word copies!

David

-- 
David Laight: da...@l8s.co.uk