diff options
author | Joakim Tjernlund <Joakim.Tjernlund@transmode.se> | 2009-11-19 13:44:16 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-12-02 23:42:40 +0100 |
commit | 3ee8c12071f0e3bdda25125b63c9d3fd54a7c9d8 (patch) | |
tree | 68808197881f0d53f9a4956cbc1afdf932cd4fde /lib_i386 | |
parent | d984fed068b3bec8a7edaf7a3de71479abde080a (diff) | |
download | u-boot-imx-3ee8c12071f0e3bdda25125b63c9d3fd54a7c9d8.zip u-boot-imx-3ee8c12071f0e3bdda25125b63c9d3fd54a7c9d8.tar.gz u-boot-imx-3ee8c12071f0e3bdda25125b63c9d3fd54a7c9d8.tar.bz2 |
crc32: Impl. linux optimized crc32()
Ported over the more efficient linux crc32() function.
A quick comparsion on ppc:
After changing the old crc32 to do 4 bytes in the
inner loop to be able to compare with new version one can note:
- old inner loop has 61 insn, new has 19 insn.
- new crc32 does one 32 bit load of data to crc while
the old does four 8 bits loads.
- size is bit bigger for the new crc32:
1392(old) 1416(new) of text. The is because the new version
shares code with crc32_no_comp() instead of duplicating code.
- about 33% faster on ppc:
New > crc 0 0xfffffff -> 39 secs
Old > crc 0 0xfffffff -> 60 secs
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Diffstat (limited to 'lib_i386')
0 files changed, 0 insertions, 0 deletions