From: Zhiyong Yang Date: Sat, 28 Mar 2020 08:40:25 +0000 (+0000) Subject: vppinfra: add support for avx512 alignment version of load and store X-Git-Tag: v20.09-rc0~317 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F23%2F26223%2F2;p=vpp.git vppinfra: add support for avx512 alignment version of load and store Type: improvement Signed-off-by: Zhiyong Yang Change-Id: Idfec9cb9370a8cf4966d3fdfa440496f21e17005 --- diff --git a/src/vppinfra/vector_avx512.h b/src/vppinfra/vector_avx512.h index 0665a23fe77..8a82650e1e8 100644 --- a/src/vppinfra/vector_avx512.h +++ b/src/vppinfra/vector_avx512.h @@ -35,6 +35,14 @@ t##s##x##c##_splat (t##s x) \ { return (t##s##x##c) _mm512_set1_##i (x); } \ \ static_always_inline t##s##x##c \ +t##s##x##c##_load_aligned (void *p) \ +{ return (t##s##x##c) _mm512_load_si512 (p); } \ +\ +static_always_inline void \ +t##s##x##c##_store_aligned (t##s##x##c v, void *p) \ +{ _mm512_store_si512 ((__m512i *) p, (__m512i) v); } \ +\ +static_always_inline t##s##x##c \ t##s##x##c##_load_unaligned (void *p) \ { return (t##s##x##c) _mm512_loadu_si512 (p); } \ \