diff options
Diffstat (limited to 'arch/cris/arch-v10/lib/checksumcopy.S')
-rw-r--r-- | arch/cris/arch-v10/lib/checksumcopy.S | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/cris/arch-v10/lib/checksumcopy.S b/arch/cris/arch-v10/lib/checksumcopy.S index 35cbffb306fd..540db8a5f849 100644 --- a/arch/cris/arch-v10/lib/checksumcopy.S +++ b/arch/cris/arch-v10/lib/checksumcopy.S | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: checksumcopy.S,v 1.1 2001/12/17 13:59:27 bjornw Exp $ | 1 | /* |
2 | * A fast checksum+copy routine using movem | 2 | * A fast checksum+copy routine using movem |
3 | * Copyright (c) 1998, 2001 Axis Communications AB | 3 | * Copyright (c) 1998, 2001 Axis Communications AB |
4 | * | 4 | * |
@@ -67,8 +67,6 @@ _mloop: movem [$r10+],$r9 ; read 10 longwords | |||
67 | 67 | ||
68 | ax | 68 | ax |
69 | addq 0,$r13 | 69 | addq 0,$r13 |
70 | ax ; do it again, since we might have generated a carry | ||
71 | addq 0,$r13 | ||
72 | 70 | ||
73 | subq 10*4,$r12 | 71 | subq 10*4,$r12 |
74 | bge _mloop | 72 | bge _mloop |
@@ -91,10 +89,6 @@ _word_loop: | |||
91 | lsrq 16,$r9 ; r0 = checksum >> 16 | 89 | lsrq 16,$r9 ; r0 = checksum >> 16 |
92 | and.d 0xffff,$r13 ; checksum = checksum & 0xffff | 90 | and.d 0xffff,$r13 ; checksum = checksum & 0xffff |
93 | add.d $r9,$r13 ; checksum += r0 | 91 | add.d $r9,$r13 ; checksum += r0 |
94 | move.d $r13,$r9 ; do the same again, maybe we got a carry last add | ||
95 | lsrq 16,$r9 | ||
96 | and.d 0xffff,$r13 | ||
97 | add.d $r9,$r13 | ||
98 | 92 | ||
99 | _no_fold: | 93 | _no_fold: |
100 | cmpq 2,$r12 | 94 | cmpq 2,$r12 |