On Monday, 21 January 2019 08:18:16 PST Olivier B. wrote: > It seems that code of the cpp that is compiled "if defined > QT_COMPILER_SUPPORTS_SSE4_1" (present in my qconfig.h) references code > of qdrawingprimitive_sse2_p.h that is defined "if > QT_COMPILER_SUPPORTS_HERE(SSE4_1)" (absent because __SSE_4_1__ is not > defined in qsimd_p.h, because configure does not add /arch:avx on the > command line)
That's an incorrect conclusion. The correct branch of qsimd_p.h for MSVC 2015 is this: #elif defined(Q_PROCESSOR_X86) && defined(QT_COMPILER_SUPPORTS_SIMD_ALWAYS) # define QT_COMPILER_SUPPORTS_HERE(x) ((__ ## x ## __) || QT_COMPILER_SUPPORTS(x)) The second condition of that macro is QT_COMPILER_SUPPORTS_SSE4_1 again. > I did not pass any cpu-specific type flags to configure, and i am not > sure i want to. What is the proper fix of the cpu checks and flags > that will make this build, without making the code dependant on avx or > SSE4.1? MSVC 2015 compiles out of the box and this code is enabled. Your problem is elsewhere. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest