From: Steven Luong Date: Wed, 10 Nov 2021 16:54:38 +0000 (-0800) Subject: ip: crash in ip_csum_fold due to illegal instruction shrx X-Git-Tag: v22.06-rc0~268 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=4d769c71a10bb99a1afc369e85d7d444e7b439f3;p=vpp.git ip: crash in ip_csum_fold due to illegal instruction shrx Encounter a crash for the line shrx edi,eax,edi in ip_csum_fold. The target cpu is ivy bridge which does not support shrx instruction. Type: fix Fixes: e6709ff37dc0f3a58ed5ad98aace73fe801f1e9d Signed-off-by: Steven Luong Change-Id: Icc922d3b2ebfcfa721f63946a213b6c492874a9a --- diff --git a/src/vnet/ip/ip_packet.h b/src/vnet/ip/ip_packet.h old mode 100644 new mode 100755 index d862caa3a52..837b3df8563 --- a/src/vnet/ip/ip_packet.h +++ b/src/vnet/ip/ip_packet.h @@ -301,7 +301,7 @@ always_inline u16 ip_csum_fold (ip_csum_t c) { /* Reduce to 16 bits. */ -#ifdef __x86_64__ +#if defined(__x86_64__) && defined(__BMI2__) u64 tmp; asm volatile( /* using ADC is much faster than mov, shift, add sequence