ip: improve csum fold on x86_64 75/34275/4
authorDamjan Marion <damarion@cisco.com>
Thu, 28 Oct 2021 10:02:15 +0000 (12:02 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 28 Oct 2021 15:54:25 +0000 (15:54 +0000)
commite6709ff37dc0f3a58ed5ad98aace73fe801f1e9d
treed71e12113f9eb31d789d059aa4073b07a44409fb
parent48c0534c2eafe23fe8efba8c913109f30f6a294c
ip: improve csum fold on x86_64

New code seems to be 1.5 clocks faster.

old:
mov    eax,edi
shr    rdi,0x20
add    rdi,rax
movzx  edx,di
shr    rdi,0x10
add    rdx,rdi
movzx  eax,dx
shr    rdx,0x10
add    rax,rdx
mov    rdx,rax
shr    rdx,0x10
add    eax,edx

new:
mov    rax,rdi
shr    rax,0x20
add    eax,edi
mov    edi,0x10
shrx   edi,eax,edi
adc    ax,di
adc    ax,0x0

Type: improvement
Change-Id: I3c565812c67ff4c3db197a9d4137a6c131b5b66c
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vnet/ip/ip_packet.h