Compiling 5.12.0 with vs 2015
Configure detects SSE up to 4.2 , and AVX up to AVX2

qdrawhelper_sse4.cpp
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(164):
error C3861: 'qUnpremultiply_sse4': identifier not found
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(290):
note: see reference to function template instantiation 'void
convertARGBFromARGB32PM_sse4<false,true>(uint *,const uint *,int)'
being compiled
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(258):
error C2065: 'qConvertRgba64ToRgb32_sse4': undeclared identifier
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(326):
note: see reference to function template instantiation 'void
convertARGBFromRGBA64PM_sse4<false>(uint *,const QRgba64 *,int)' being
compiled
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(258):
warning C4804: '<': unsafe use of type 'bool' in operation
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(320):
error C2065: 'qConvertArgb32ToA2rgb30_sse4': undeclared identifier
C:\sdk\src\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qdrawhelper_sse4.cpp(351):
note: see reference to function template instantiation 'void
storeA2RGB30PMFromARGB32PM_sse4<PixelOrderBGR>(uchar *,const uint
*,int,int,const QVector<uint> *,QDitherInfo *)' being compiled

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)

Adding /arch:avx, or replacing the #if
QT_COMPILER_SUPPORTS_HERE(SSE4_1) by #if defined
QT_COMPILER_SUPPORTS_SSE4_1. The SSE4 test of configure succeeds
without using -arch:avx

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?
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to