summaryrefslogtreecommitdiffstats
path: root/config.tests
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2022-02-23 17:54:40 -0800
committerThiago Macieira <thiago.macieira@intel.com>2022-03-08 00:31:30 -0800
commit38e6b637b71fae274caedc1d326f641b904e00a4 (patch)
tree0ec60d489fbc9b525c434f2476df8ab06dd5953e /config.tests
parent5235b1bdc82a02c273b0c298516dc4e9881c1e96 (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.cpp20
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;