aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crc32.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2012-03-19 20:02:01 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2012-03-19 20:02:01 -0400
commit10ce3cc919f50c2043b41ca968b43c26a3672600 (patch)
treeea409366a5208aced495bc0516a08b81fd43222e /lib/crc32.c
parent24e3e5ae1e4c2a3a32f5b1f96b4e3fd721806acd (diff)
parent5c6a7a62c130afef3d61c1dee153012231ff5cd9 (diff)
Merge branch 'next' into for-linus
Diffstat (limited to 'lib/crc32.c')
-rw-r--r--lib/crc32.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/crc32.c b/lib/crc32.c
index a6e633a48cea..4b35d2b4437c 100644
--- a/lib/crc32.c
+++ b/lib/crc32.c
@@ -51,20 +51,21 @@ static inline u32
51crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256]) 51crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256])
52{ 52{
53# ifdef __LITTLE_ENDIAN 53# ifdef __LITTLE_ENDIAN
54# define DO_CRC(x) crc = tab[0][(crc ^ (x)) & 255] ^ (crc >> 8) 54# define DO_CRC(x) crc = t0[(crc ^ (x)) & 255] ^ (crc >> 8)
55# define DO_CRC4 crc = tab[3][(crc) & 255] ^ \ 55# define DO_CRC4 crc = t3[(crc) & 255] ^ \
56 tab[2][(crc >> 8) & 255] ^ \ 56 t2[(crc >> 8) & 255] ^ \
57 tab[1][(crc >> 16) & 255] ^ \ 57 t1[(crc >> 16) & 255] ^ \
58 tab[0][(crc >> 24) & 255] 58 t0[(crc >> 24) & 255]
59# else 59# else
60# define DO_CRC(x) crc = tab[0][((crc >> 24) ^ (x)) & 255] ^ (crc << 8) 60# define DO_CRC(x) crc = t0[((crc >> 24) ^ (x)) & 255] ^ (crc << 8)
61# define DO_CRC4 crc = tab[0][(crc) & 255] ^ \ 61# define DO_CRC4 crc = t0[(crc) & 255] ^ \
62 tab[1][(crc >> 8) & 255] ^ \ 62 t1[(crc >> 8) & 255] ^ \
63 tab[2][(crc >> 16) & 255] ^ \ 63 t2[(crc >> 16) & 255] ^ \
64 tab[3][(crc >> 24) & 255] 64 t3[(crc >> 24) & 255]
65# endif 65# endif
66 const u32 *b; 66 const u32 *b;
67 size_t rem_len; 67 size_t rem_len;
68 const u32 *t0=tab[0], *t1=tab[1], *t2=tab[2], *t3=tab[3];
68 69
69 /* Align it */ 70 /* Align it */
70 if (unlikely((long)buf & 3 && len)) { 71 if (unlikely((long)buf & 3 && len)) {