diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-02-23 17:54:40 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-03-08 00:31:30 -0800 |
commit | 38e6b637b71fae274caedc1d326f641b904e00a4 (patch) | |
tree | 0ec60d489fbc9b525c434f2476df8ab06dd5953e /config.tests | |
parent | 5235b1bdc82a02c273b0c298516dc4e9881c1e96 (diff) |
CMake: add detection of x86 VAES and AVX512VBMI2 features
We have VAES code in qhash.cpp that isn't getting compiled right now.
Change-Id: Ibf4acec0f166495998f7fffd16d6961261dec361
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'config.tests')
-rw-r--r-- | config.tests/x86_simd/main.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/config.tests/x86_simd/main.cpp b/config.tests/x86_simd/main.cpp index 29c8b97c12..4f51e59a55 100644 --- a/config.tests/x86_simd/main.cpp +++ b/config.tests/x86_simd/main.cpp @@ -264,6 +264,26 @@ attribute_target("avx512ifma") void test_avx512ifma() } #endif +#if T(AVX512VBMI2) +attribute_target("avx512vl,avx512vbmi2") void test_avx512vbmi2() +{ + /* AVX512 Vector Byte Manipulation Instructions 2 */ + __m128i a = _mm_maskz_compress_epi16(-1, _mm_set1_epi16(1)); + __m128i b = _mm_shrdi_epi32(a, a, 7); +} +#endif + +#if T(VAES) +// VAES does not require AVX512 and works on Alder Lake +attribute_target("avx2,vaes") void test_vaes() +{ + /* 256- and 512-bit AES */ + __m256i a = _mm256_set1_epi32(-1); + __m256i b = _mm256_aesenc_epi128(a, a); + __m256i c = _mm256_aesdec_epi128(b, a); +} +#endif + int main() { return 0; |