summaryrefslogtreecommitdiffstats
path: root/configure.pri
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-11-15 21:31:30 -0800
committerThiago Macieira <thiago.macieira@intel.com>2017-11-30 08:30:42 +0000
commite32812d1d2e59e17697c8b8c6375a18556175b54 (patch)
tree5be8d49424d06ce8167ebd51ae6d740985f524b1 /configure.pri
parente1600c1a73e0594f5fbea8f7341a9552d6ae3fbb (diff)
Centralize the x86 SIMD testing in one place
Since the x86_simd/main.cpp file already has all the source for each and every test anyway, just reuse it. Change-Id: I938b024e38bf4aac9154fffd14f779f450827fb9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'configure.pri')
-rw-r--r--configure.pri16
1 files changed, 13 insertions, 3 deletions
diff --git a/configure.pri b/configure.pri
index 52147589bb..8ce4aea9ca 100644
--- a/configure.pri
+++ b/configure.pri
@@ -395,12 +395,22 @@ defineTest(qtConfTest_buildParts) {
return(true)
}
+defineTest(qtConfTest_x86Simd) {
+ simd = $$section(1, ".", -1) # last component
+ $${1}.args = CONFIG+=add_cflags DEFINES+=NO_ATTRIBUTE SIMD=$$simd
+ $${1}.test = x86_simd
+ qtConfTest_compile($${1})
+}
+
defineTest(qtConfTest_x86SimdAlways) {
configs =
fpfx = $${currentConfig}.features
- simd = sse2 sse3 ssse3 sse4_1 sse4_2 rdrnd aesni shani avx avx2 avx512f \
- avx512er avx512cd avx512pf avx512dq avx512bw avx512vl avx512ifma avx512vbmi
- for (f, simd) {
+ tpfx = $${currentConfig}.tests
+
+ # Make a list of all passing features whose tests have type=x86Simd
+ for (f, $${tpfx}._KEYS_) {
+ !equals($${tpfx}.$${f}.type, "x86Simd"): \
+ next()
qtConfCheckFeature($$f)
equals($${fpfx}.$${f}.available, true): configs += $$f
}