Lines Matching +full:ip +full:- +full:76

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
7 * IP/TCP/UDP checksumming routines
15 * Lots of code moved from tcp.c and ip.c; see those files
28 #include <asm/nospec-branch.h>
44 * is aligned on either a 2-byte or 4-byte boundary. We get at
45 * least a twofold speedup on 486 and Pentium if it is 4-byte aligned.
46 * Fortunately, it is easy to convert 2-byte alignment to 4-byte
158 # Handle 2-byte-aligned regions
182 movzbl (%esi),%ebx # csumming 1 byte, 2-aligned
187 addw (%esi), %ax # csumming 2 bytes, 2-aligned
192 addl -128(%esi), %eax
193 adcl -124(%esi), %eax
194 adcl -120(%esi), %eax
195 adcl -116(%esi), %eax
196 adcl -112(%esi), %eax
197 adcl -108(%esi), %eax
198 adcl -104(%esi), %eax
199 adcl -100(%esi), %eax
200 adcl -96(%esi), %eax
201 adcl -92(%esi), %eax
202 adcl -88(%esi), %eax
203 adcl -84(%esi), %eax
204 adcl -80(%esi), %eax
205 adcl -76(%esi), %eax
206 adcl -72(%esi), %eax
207 adcl -68(%esi), %eax
208 adcl -64(%esi), %eax
209 adcl -60(%esi), %eax
210 adcl -56(%esi), %eax
211 adcl -52(%esi), %eax
212 adcl -48(%esi), %eax
213 adcl -44(%esi), %eax
214 adcl -40(%esi), %eax
215 adcl -36(%esi), %eax
216 adcl -32(%esi), %eax
217 adcl -28(%esi), %eax
218 adcl -24(%esi), %eax
219 adcl -20(%esi), %eax
220 adcl -16(%esi), %eax
221 adcl -12(%esi), %eax
222 adcl -8(%esi), %eax
223 adcl -4(%esi), %eax
233 # Handle the last 1-3 bytes without jumping
234 notl %ecx # 1->2, 2->1, 3->0, higher bits are masked
238 andl -128(%esi),%ebx # esi is 4-aligned so should be ok
281 movl $-1, %eax # sum
391 movl $-1, %eax #sum
400 lea -1(%esi),%edx
401 andl $-32,%edx
407 EXC(movb -32(%edx),%bl) ; EXC(movb (%edx),%bl)
408 ROUND1(-64) ROUND(-60) ROUND(-56) ROUND(-52)
409 ROUND (-48) ROUND(-44) ROUND(-40) ROUND(-36)
410 ROUND (-32) ROUND(-28) ROUND(-24) ROUND(-20)
411 ROUND (-16) ROUND(-12) ROUND(-8) ROUND(-4)