diff options
author | David S. Miller | 2011-05-20 12:59:54 -0700 |
---|---|---|
committer | David S. Miller | 2011-05-20 12:59:54 -0700 |
commit | 9fafbd806198eb690c9a9f9fe35a879db93a1b8d (patch) | |
tree | a555f39102d51151d7f8461a4f575468cd52f33c /arch/sparc/lib | |
parent | d81f087f1f1c1aacdb4f17224a554237285ddd11 (diff) | |
parent | 21dccddf45aae2d9f973696ce06115da0d1012b6 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Diffstat (limited to 'arch/sparc/lib')
-rw-r--r-- | arch/sparc/lib/checksum_32.S | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/sparc/lib/checksum_32.S b/arch/sparc/lib/checksum_32.S index 3632cb34e914..0084c3361e15 100644 --- a/arch/sparc/lib/checksum_32.S +++ b/arch/sparc/lib/checksum_32.S @@ -289,10 +289,16 @@ cc_end_cruft: /* Also, handle the alignment code out of band. */ cc_dword_align: - cmp %g1, 6 - bl,a ccte + cmp %g1, 16 + bge 1f + srl %g1, 1, %o3 +2: cmp %o3, 0 + be,a ccte andcc %g1, 0xf, %o3 - andcc %o0, 0x1, %g0 + andcc %o3, %o0, %g0 ! Check %o0 only (%o1 has the same last 2 bits) + be,a 2b + srl %o3, 1, %o3 +1: andcc %o0, 0x1, %g0 bne ccslow andcc %o0, 0x2, %g0 be 1f |