Skip to content
Snippets Groups Projects
  • Joakim Tjernlund's avatar
    3ee8c120
    crc32: Impl. linux optimized crc32() · 3ee8c120
    Joakim Tjernlund authored
    
    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: default avatarJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
    3ee8c120
    History
    crc32: Impl. linux optimized crc32()
    Joakim Tjernlund authored
    
    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: default avatarJoakim Tjernlund <Joakim.Tjernlund@transmode.se>