From 6a51062e996ec38b3ebc1e0de04af73a5c62a1a0 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 31 May 2012 14:58:53 +0200 Subject: Move the SSE2/AVX/Neon/etc. flags into the compiler mkspecs This allows us to have different flags for the compilers for supporting the same feature. For example, the official flag in GCC to support AVX2 is -mavx2, but ICC does not support it (yet), requiring -march=core-avx2 or -xCORE-AVX2. That flag, instead, enables support for all the features that the "Core-AVX2" processor (codename Haswell) will support. And clearly, the MSVC flags are different. Change-Id: I33b6d8617520925e807747180a8dbaafd79b7a9a Reviewed-by: Sean Harmer Reviewed-by: Oswald Buddenhagen --- config.tests/unix/avx/avx.pro | 2 ++ config.tests/unix/avx2/avx2.pro | 2 ++ config.tests/unix/iwmmxt/iwmmxt.pro | 3 ++- config.tests/unix/neon/neon.pro | 2 ++ config.tests/unix/sse2/sse2.pro | 2 ++ config.tests/unix/sse3/sse3.pro | 2 ++ config.tests/unix/sse4_1/sse4_1.pro | 2 ++ config.tests/unix/sse4_2/sse4_2.pro | 2 ++ config.tests/unix/ssse3/ssse3.pro | 2 ++ 9 files changed, 18 insertions(+), 1 deletion(-) (limited to 'config.tests') diff --git a/config.tests/unix/avx/avx.pro b/config.tests/unix/avx/avx.pro index 00a05500eb..f16f7e8f4d 100644 --- a/config.tests/unix/avx/avx.pro +++ b/config.tests/unix/avx/avx.pro @@ -1,3 +1,5 @@ SOURCES = avx.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_AVX):error("This compiler does not support AVX") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX diff --git a/config.tests/unix/avx2/avx2.pro b/config.tests/unix/avx2/avx2.pro index 48374f11c4..09590a8379 100644 --- a/config.tests/unix/avx2/avx2.pro +++ b/config.tests/unix/avx2/avx2.pro @@ -1,3 +1,5 @@ SOURCES = avx2.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_AVX2):error("This compiler does not support AVX2") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX2 diff --git a/config.tests/unix/iwmmxt/iwmmxt.pro b/config.tests/unix/iwmmxt/iwmmxt.pro index 20a5f1a546..f463176d5c 100644 --- a/config.tests/unix/iwmmxt/iwmmxt.pro +++ b/config.tests/unix/iwmmxt/iwmmxt.pro @@ -1,3 +1,4 @@ SOURCES = iwmmxt.cpp CONFIG -= x11 qt - +isEmpty(QMAKE_CFLAGS_IWMMXT):error("This compiler does not support iWMMXt") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_IWMMXT diff --git a/config.tests/unix/neon/neon.pro b/config.tests/unix/neon/neon.pro index de20c4e0ab..efd608bd63 100644 --- a/config.tests/unix/neon/neon.pro +++ b/config.tests/unix/neon/neon.pro @@ -1,2 +1,4 @@ SOURCES = neon.cpp CONFIG -= x11 qt +isEmpty(QMAKE_CFLAGS_NEON):error("This compiler does not support Neon") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_NEON diff --git a/config.tests/unix/sse2/sse2.pro b/config.tests/unix/sse2/sse2.pro index d4a21aad1a..13f252ae48 100644 --- a/config.tests/unix/sse2/sse2.pro +++ b/config.tests/unix/sse2/sse2.pro @@ -1,3 +1,5 @@ SOURCES = sse2.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_SSE2):error("This compiler does not support SSE2") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2 diff --git a/config.tests/unix/sse3/sse3.pro b/config.tests/unix/sse3/sse3.pro index 009fea230a..8d9853ce77 100644 --- a/config.tests/unix/sse3/sse3.pro +++ b/config.tests/unix/sse3/sse3.pro @@ -1,3 +1,5 @@ SOURCES = sse3.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_SSE3):error("This compiler does not support SSE3") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE3 diff --git a/config.tests/unix/sse4_1/sse4_1.pro b/config.tests/unix/sse4_1/sse4_1.pro index c6c4746026..539517605d 100644 --- a/config.tests/unix/sse4_1/sse4_1.pro +++ b/config.tests/unix/sse4_1/sse4_1.pro @@ -1,3 +1,5 @@ SOURCES = sse4_1.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_SSE4_1):error("This compiler does not support SSE4.1") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_1 diff --git a/config.tests/unix/sse4_2/sse4_2.pro b/config.tests/unix/sse4_2/sse4_2.pro index cab171114d..044eb197af 100644 --- a/config.tests/unix/sse4_2/sse4_2.pro +++ b/config.tests/unix/sse4_2/sse4_2.pro @@ -1,3 +1,5 @@ SOURCES = sse4_2.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_SSE4_2):error("This compiler does not support SSE4.2") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_2 diff --git a/config.tests/unix/ssse3/ssse3.pro b/config.tests/unix/ssse3/ssse3.pro index 4864267c8f..dd86c41abb 100644 --- a/config.tests/unix/ssse3/ssse3.pro +++ b/config.tests/unix/ssse3/ssse3.pro @@ -1,3 +1,5 @@ SOURCES = ssse3.cpp CONFIG -= x11 qt mac:CONFIG -= app_bundle +isEmpty(QMAKE_CFLAGS_SSSE3):error("This compiler does not support SSSE3") +else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSSE3 -- cgit v1.2.3