Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-67705

qt expects aes support from cpus which don't support it

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P5: Not important
    • 5.11.1
    • 5.9, 5.10, 5.11
    • Core: Other
    • 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

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            m.v. m.v.
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes