From e32812d1d2e59e17697c8b8c6375a18556175b54 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 15 Nov 2017 21:31:30 -0800 Subject: 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 --- configure.pri | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'configure.pri') 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 } -- cgit v1.2.3