Details
-
Bug
-
Resolution: Done
-
P5: Not important
-
5.9, 5.10, 5.11
-
None
-
de40f24706d0f3c4cc13900380aacc90d6879356
Description
Commit [0] contains comment in src/corelib/tools/qsimd_p.h:
// All processors that support AVX support AES, PCLMULQDQ
It's not true for AES. For example all mobile Sandybridge Core i3 support AVX but don't support AES accordingly to [1]. See [2] for example.
So this code will be wrong for those cores:
# if defined(__AVX__) && defined(QT_COMPILER_SUPPORTS_SIMD_ALWAYS) // AES, PCLMULQDQ instructions: // All processors that support AVX support AES, PCLMULQDQ // (but neither MSVC nor the Intel compiler define these macros) # define __AES__ 1 # define __PCLMUL__ 1 # endif
This affects all releases starting from 5.9.0.
[0] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=418184c2a0ad97cce12717a43f84fa6f12ece189
[1] https://ark.intel.com/
[2] https://ark.intel.com/products/53438