X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fvector_sse42.h;h=e75580e60269ad9d908e2dc7f31f998fd1336b1f;hb=f75defa7676759fa81ae75e7edd492572c6b8fd6;hp=c22e86e7437179893e3ad7a7d67ea667bfba6f2a;hpb=adcfb15fa0b08403c5b5b170149f7d3662e65761;p=vpp.git diff --git a/src/vppinfra/vector_sse42.h b/src/vppinfra/vector_sse42.h index c22e86e7437..e75580e6026 100644 --- a/src/vppinfra/vector_sse42.h +++ b/src/vppinfra/vector_sse42.h @@ -746,6 +746,15 @@ u8x16_blend (u8x16 v1, u8x16 v2, u8x16 mask) return (u8x16) _mm_blendv_epi8 ((__m128i) v1, (__m128i) v2, (__m128i) mask); } +static_always_inline u8x16 +u8x16_xor3 (u8x16 a, u8x16 b, u8x16 c) +{ +#if __AVX512F__ + return (u8x16) _mm_ternarylogic_epi32 ((__m128i) a, (__m128i) b, + (__m128i) c, 0x96); +#endif + return a ^ b ^ c; +} #endif /* included_vector_sse2_h */