From: Nathan Bossart Date: Mon, 18 Mar 2024 11:02:05 -0500 Subject: [PATCH v5 2/2] Add support for AVX2 in simd.h. Discussion: https://postgr.es/m/20231129171526.GA857928%40nathanxps13 --- src/include/port/simd.h | 61 ++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/src/include/port/simd.h b/src/include/port/simd.h index 597496f2fb..f06b21876b 100644 --- a/src/include/port/simd.h +++ b/src/include/port/simd.h @@ -18,7 +18,18 @@ #ifndef SIMD_H #define SIMD_H -#if (defined(__x86_64__) || defined(_M_AMD64)) +#if defined(__AVX2__) + +/* + * XXX: Need to add a big comment here. + */ +#include +#define USE_AVX2 +typedef __m256i Vector8; +typedef __m256i Vector32; + +#elif (defined(__x86_64__) || defined(_M_AMD64)) + /* * SSE2 instructions are part of the spec for the 64-bit x86 ISA. We assume * that compilers targeting this architecture understand SSE2 intrinsics. @@ -107,7 +118,9 @@ static inline Vector32 vector32_eq(const Vector32 v1, const Vector32 v2); static inline void vector8_load(Vector8 *v, const uint8 *s) { -#if defined(USE_SSE2) +#if defined(USE_AVX2) + *v = _mm256_loadu_si256((const __m256i *) s); +#elif defined(USE_SSE2) *v = _mm_loadu_si128((const __m128i *) s); #elif defined(USE_NEON) *v = vld1q_u8(s); @@ -120,7 +133,9 @@ vector8_load(Vector8 *v, const uint8 *s) static inline void vector32_load(Vector32 *v, const uint32 *s) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + *v = _mm256_loadu_si256((const __m256i *) s); +#elif defined(USE_SSE2) *v = _mm_loadu_si128((const __m128i *) s); #elif defined(USE_NEON) *v = vld1q_u32(s); @@ -134,7 +149,9 @@ vector32_load(Vector32 *v, const uint32 *s) static inline Vector8 vector8_broadcast(const uint8 c) { -#if defined(USE_SSE2) +#if defined(USE_AVX2) + return _mm256_set1_epi8(c); +#elif defined(USE_SSE2) return _mm_set1_epi8(c); #elif defined(USE_NEON) return vdupq_n_u8(c); @@ -147,7 +164,9 @@ vector8_broadcast(const uint8 c) static inline Vector32 vector32_broadcast(const uint32 c) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_set1_epi32(c); +#elif defined(USE_SSE2) return _mm_set1_epi32(c); #elif defined(USE_NEON) return vdupq_n_u32(c); @@ -270,7 +289,9 @@ vector8_has_le(const Vector8 v, const uint8 c) static inline bool vector8_is_highbit_set(const Vector8 v) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_movemask_epi8(v) != 0; +#elif defined(USE_SSE2) return _mm_movemask_epi8(v) != 0; #elif defined(USE_NEON) return vmaxvq_u8(v) > 0x7F; @@ -308,7 +329,9 @@ vector32_is_highbit_set(const Vector32 v) static inline uint32 vector8_highbit_mask(const Vector8 v) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return (uint32) _mm256_movemask_epi8(v); +#elif defined(USE_SSE2) return (uint32) _mm_movemask_epi8(v); #elif defined(USE_NEON) /* @@ -337,7 +360,9 @@ vector8_highbit_mask(const Vector8 v) static inline Vector8 vector8_or(const Vector8 v1, const Vector8 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_or_si256(v1, v2); +#elif defined(USE_SSE2) return _mm_or_si128(v1, v2); #elif defined(USE_NEON) return vorrq_u8(v1, v2); @@ -350,7 +375,9 @@ vector8_or(const Vector8 v1, const Vector8 v2) static inline Vector32 vector32_or(const Vector32 v1, const Vector32 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_or_si256(v1, v2); +#elif defined(USE_SSE2) return _mm_or_si128(v1, v2); #elif defined(USE_NEON) return vorrq_u32(v1, v2); @@ -368,7 +395,9 @@ vector32_or(const Vector32 v1, const Vector32 v2) static inline Vector8 vector8_ssub(const Vector8 v1, const Vector8 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_subs_epu8(v1, v2); +#elif defined(USE_SSE2) return _mm_subs_epu8(v1, v2); #elif defined(USE_NEON) return vqsubq_u8(v1, v2); @@ -384,7 +413,9 @@ vector8_ssub(const Vector8 v1, const Vector8 v2) static inline Vector8 vector8_eq(const Vector8 v1, const Vector8 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_cmpeq_epi8(v1, v2); +#elif defined(USE_SSE2) return _mm_cmpeq_epi8(v1, v2); #elif defined(USE_NEON) return vceqq_u8(v1, v2); @@ -396,7 +427,9 @@ vector8_eq(const Vector8 v1, const Vector8 v2) static inline Vector32 vector32_eq(const Vector32 v1, const Vector32 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_cmpeq_epi32(v1, v2); +#elif defined(USE_SSE2) return _mm_cmpeq_epi32(v1, v2); #elif defined(USE_NEON) return vceqq_u32(v1, v2); @@ -411,7 +444,9 @@ vector32_eq(const Vector32 v1, const Vector32 v2) static inline Vector8 vector8_min(const Vector8 v1, const Vector8 v2) { -#ifdef USE_SSE2 +#if defined(USE_AVX2) + return _mm256_min_epu8(v1, v2); +#elif defined(USE_SSE2) return _mm_min_epu8(v1, v2); #elif defined(USE_NEON) return vminq_u8(v1, v2); -- 2.25.1 --EVF5PPMfhYS0aIcm Content-Type: image/jpeg Content-Disposition: attachment; filename="v5_x86.jpg" Content-Transfer-Encoding: base64 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 Bb+gfEmUIbIZDbWKDRgPZZ6/Lw8aK3FrCQnOd3lt0IlpMS0CfMbP2QMOK91qG6dt07wMVAYI kR4iAh1t08Nq25JuOH5VvcpW9ylb3KVvcpW9ylb3KVvcpW3JWnTyW9ylb3KVvcpW3Jb3KVvc pW9ylb3KVvcpW9yld20+5vGC3uUre5So8S+TRLD9lHhmdzuC/o9HnM1lNhsDrv0m9aK6/CWC 3uUpjRPuoONy3uUre5St7lK3uUrRXX3O4eigwhObncFKTuUre5St7lK3uUre5St7lK3uUre5 St7lKx6Lbkt7lKIE5uuwTGydPbqlb3KVvcpW9ylb3KVvcpTMceHl24rFYrFNLG2puGS7tjWM e2GHPtjadnRAQAxpDA51u+/h0QEAMaQwOdbvv4dFAjMY0Ne5odM4TMlMmQT2BzZtdKrG6aZA g2bTgXEuE5BCAwMbGFq2TeBL/KEBgY2MLVsm8CX+VJjYbXNcWxHG8CXkg5jGbRPYZOl/E/ZL XCbSJELXc+ILNgB5wC9458XVsC2cAg8xIkQtFlts4Dsb6fA/SPZ/f2ho0G+NE4bForJzJbM+ t/ZMqPGO+/8Av+VpcOENeI6TVN18V1R7NCd+r5p7/wArZp0Q4vd7MJ3B6dExhwcPblaOSuDi rLWOmi1zXE+S1YbyV9jECm5jtX8wkuKoVKwCpCnaTS47e2kKkKkKkdjo0CwbbQ1weZYbeqBg FjiWBrrd1/HqgYBY4lga63dfx6qFAhd24MLXFznSmQZ8F7xrZ7QLwnua0Tc6eGFyZHg2bTQW kOumEI7Cx0bWtg3Az/whHYWOja1sG4Gf+EGju3B7i+KLRbPywwQD2MYRsYZj4TfT27IpUvZO jNFImXefsmI/9hxTtNj1vpWiH9uvYNBgHGsoQ2Zo6TI2z26K7g76KJ53KCP0z9lvk9NnW7WP tGVTrgg0wQ87TJasED9leJBYfCZ6/LxjfT2rLTjtUvZEKFrRn4DgmB5m98OZQ7G6NBn3sThw Vt+s9psjzX9TppJngzs0J36vmEXHYJqLHdU92PswncHqBorKnmaAGz2iNa7yVD1Q9UPXu4Dn L7q5d5EhljGDA/GZ6/LxjfT2S2chvFMlcwOkPZni80hHS9J+1dgOCgn9BQ7Hu2Q2p0OR7q1b 8pdujO4OUU8RJQhxE/ZHk8J+lv2arfae7yuQLmgl196wWCw7Sh8Vnr8vDuiEEho2LSYgiTjO 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 xNpxChR4bS6Wo9o/KUYtnXIkSi04ESXdRzHitDJQSwfT9sVChkAFrb5cUWnA3JkGM62xn2fd sNomV3ohGiXxrIHp6dhgxHB2iWpyDCXYzlcobntdbxk52H7cV3LwQ0tvibGzwQ0fSPdR4I92 8DHgW/RMjxQ7vZA2S65plwTA5jiDMuI3Rx6o6Xo7gcXPBNzximaTEhvaBS128PMJgcxxBmXE bo49UdL0dwOLngm54xTY0SG9o3Wudj5kJgcxxBmXEbo49VA1wWiMHWz6zRjmBZmbp73mR/4Q WuAINxU4j3WRdDhk0jteDMaMHakLZ/jy7XgzGjB2pC2f48u1wdMaMHTZC2evp5f+3v8A/8QA LBAAAQIFAwIGAwEBAQAAAAAAAQARITFh0fFBUfBxoRAgQIGRsTDB4VBgcP/aAAgBAQABPyH/ AJQHXEOGcJ5TBFJcu47lAW8TcQAF4lR7AekAIPcjeqCVBB0QAQW5fWqCLCuDXRRA0Q44Kz1y z1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1y z1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1yz1y z1yz1yz1yz1yz1yBRjGBLX9MNxMDFix+VtejmBogliiQz50I2HMBQIoVdbdhzAUTwYgSybA5 gKDw7X9f6/Jq9Z2v6/1+TV6ztf1/r8mr09d9A7YoFAbnTgN2RwSmks6sjgFJQWdW8O1/X+vy avTCmgGKCxj0U+ijEuC6Bc40DQHRbxdlftmR6iXRDezsifFirP0jgW28wWU2WU2WU2WU2WU2 WU2WU2WU2WU2WU2WU2WU2QJLk6LKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbL KbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbLKbL KbLKbIoKDa7VT0wywTEDghNGjWHZUuSItsjBlNJ9xkYIppLureHa/r8hM3QCcZqt/lRerEHw es7X9fjJiKa3gCFv8nlrjtaba8qtJVFqesdr+vxm3TRZ1BCw/wDIM2i5KYSvrEft/pdRknnz 6YkAOSwCOiIiSBB57MZosYka27DIiqKB1Vuw4iKp9MwoqgHERUeHa/r8ZsoiGBBg67X/ABtf 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 c8ILeJoJnqmnPMzCIdtIxXXniI9w+qRxhCDOmkBQPD6D2DqOCc7DBk8mbQh4FC4MxWwQepII Hh9B7B1HBOdhgyeTNoQ8CgJaXMBkxIz3QPD6D2DqOCM8hG1Jz+81Pjl4holIdH/xW8W/wAC3 YImEIMRHDF1Op+vAgGYB0R+XUUgu390R4CAZgHRH5dRSC7f3RHgIBmAdEcRUbILrkR/56//a AAwDAQACAAMAAAAQ4440wwwwwwwwwwwwwwwwwwwwwwwwwww088888888888cco8888888888 88888888888888888U8888888888848o888888888888888888888888888U8888888888o4 cYMMMMMflMMMMMMMMMMMMMMMMMMMMX8888888888888o88888sU8888888888888888888xe 8888888888ooAkwwwwwwRwwwwwwwwwwwwwwww00shV8888888888888o88888VV888888888 8888887a67Wd8888888888440o88888VV88888888888840wJM5i89888888888888sYMMMM MFFMMMMMMMMMMMM2Jeve1PM18888888888888o88888VV8888888888/2/s/8sf88U888888 88888o0YMMMMZEFMMMMMMMMIhePM8MMMMMMUsNKA008888888o8888l9V88888/10q+p88v8 8816+d7ygAU088888w0kwww1ywJww4wd1ZyQ1Zwwww08pwwc88+08w080888so888zc8R87f sCc6389+881R0M9td1vMNMMsMc88888o88jf81X/AH3YPPBXPKeApzfPPPPPFPPPPPPPPPPP OJGDGmzC5vnjGxjDFkPbhaWXTDDDDDFPPPPPPPPPPPPPKPP7OPvEXvPJzn6/PPPPPPPPPPPP FPPPPPPPPPPPJNJJS4MM8HVPawgQU8MMMMMMMMMMMMFPPPPPPPPPPPHPKLvLPflzPPPPPPPP PPPPPPPPPPPPFPPPPPPPPPPPPMK3fPHPPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPHBCA CBADACBACACBAAACBACCCBABFPPPPPPPPPPPPPILPBJMKMHLLILECFGICAHNNPGLFDHPPPPP PPPPPPPPPPPPLPHPPPPPPPPPPPPPPPLPPPPHPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 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 TLLVeWtXG4EG6oP/AJ5//9k= --EVF5PPMfhYS0aIcm--