patch-2.4.0-test8 linux/arch/i386/lib/checksum.S
Next file: linux/arch/ia64/ia32/ia32_entry.S
Previous file: linux/arch/i386/kernel/traps.c
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Tue Sep 5 14:01:35 2000
- Orig file:
v2.4.0-test7/linux/arch/i386/lib/checksum.S
- Orig date:
Mon Mar 27 08:08:21 2000
diff -u --recursive --new-file v2.4.0-test7/linux/arch/i386/lib/checksum.S linux/arch/i386/lib/checksum.S
@@ -394,26 +394,32 @@
movl ARGBASE+8(%esp),%edi #dst
movl ARGBASE+12(%esp),%ecx #len
movl ARGBASE+16(%esp),%eax #sum
- movl %ecx, %edx
+# movl %ecx, %edx
movl %ecx, %ebx
+ movl %esi, %edx
shrl $6, %ecx
andl $0x3c, %ebx
negl %ebx
subl %ebx, %esi
subl %ebx, %edi
+ lea -1(%esi),%edx
+ andl $-32,%edx
lea 3f(%ebx,%ebx), %ebx
testl %esi, %esi
- jmp *%ebx
+ jmp *%ebx
1: addl $64,%esi
addl $64,%edi
+ SRC(movb -32(%edx),%bl) ; SRC(movb (%edx),%bl)
ROUND1(-64) ROUND(-60) ROUND(-56) ROUND(-52)
ROUND (-48) ROUND(-44) ROUND(-40) ROUND(-36)
ROUND (-32) ROUND(-28) ROUND(-24) ROUND(-20)
ROUND (-16) ROUND(-12) ROUND(-8) ROUND(-4)
3: adcl $0,%eax
+ addl $64, %edx
dec %ecx
jge 1b
-4: andl $3, %edx
+4: movl ARGBASE+12(%esp),%edx #len
+ andl $3, %edx
jz 7f
cmpl $2, %edx
jb 5f
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)