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

error: inlining failed in call to always_inline ‘int _mm_movemask_epi8(__m128i)’

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.15.1
    • 5.15
    • Core: Other
    • None
    • Ubuntu 18.04.3
      gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
    • 3caeb0187dec592c78a3bde8d0284475e00e30d4 (qt/qtbase/dev) c02709f697fdf09c8b62e7cd9b85a7ccdd2c36e4 (qt/qtbase/5.15)

    Description

      When building Qt 5.15 on Ubuntu 18.04.3 after configuring it using these arguments:

      -debug
      -no-optimize-debug
      -developer-build
      -opensource
      -confirm-license
      -nomake
      tests
      -nomake
      examples
      -silent
      -sanitize
      address
      -no-warnings-are-errors
      

      I get this error:

      g++ -c -pipe -O2 -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -fno-exceptions -fsanitize=address -fno-omit-frame-pointer -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_VERSION_STR='"5.15.0"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=15 -DQT_VERSION_PATCH=0 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_CAST_FROM_ASCII -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I/home/mitch/dev/qt5.15/qtbase/src/tools/bootstrap -I. -I/home/mitch/dev/qt5.15/qtbase/src/tools -I/home/mitch/dev/qt5.15/qtbase/src/3rdparty/tinycbor/src -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.15.0 -I../../../include/QtCore/5.15.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.15.0 -I../../../include/QtXml/5.15.0/QtXml -I/home/mitch/dev/qt5.15/qtbase/mkspecs/linux-g++ -o .obj/qstringview.o /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstringview.cpp
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: In function ‘qsizetype QtPrivate::qustrlen(const ushort*)’:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1395:1: error: inlining failed in call to always_inline ‘int _mm_movemask_epi8(__m128i)’: function attribute mismatch
       _mm_movemask_epi8 (__m128i __A)
       ^~~~~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:182:37: note: called from here
           quint32 mask = _mm_movemask_epi8(comparison);
                          ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1303:1: error: inlining failed in call to always_inline ‘__m128i _mm_cmpeq_epi16(__m128i, __m128i)’: function attribute mismatch
       _mm_cmpeq_epi16 (__m128i __A, __m128i __B)
       ^~~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:181:54: note: called from here
           __m128i comparison = _mm_cmpeq_epi16(data, zeroes);
                                                            ^
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:695:1: error: inlining failed in call to always_inline ‘__m128i _mm_load_si128(const __m128i*)’: function attribute mismatch
       _mm_load_si128 (__m128i const *__P)
       ^~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:180:73: note: called from here
           __m128i data = _mm_load_si128(reinterpret_cast<const __m128i *>(ptr));
                                                                               ^
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:758:1: error: inlining failed in call to always_inline ‘__m128i _mm_setzero_si128()’: function attribute mismatch
       _mm_setzero_si128 (void)
       ^~~~~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:179:46: note: called from here
           const __m128i zeroes = _mm_setzero_si128();
                                                    ^
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1395:1: error: inlining failed in call to always_inline ‘int _mm_movemask_epi8(__m128i)’: function attribute mismatch
       _mm_movemask_epi8 (__m128i __A)
       ^~~~~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:197:33: note: called from here
               mask = _mm_movemask_epi8(comparison);
                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1303:1: error: inlining failed in call to always_inline ‘__m128i _mm_cmpeq_epi16(__m128i, __m128i)’: function attribute mismatch
       _mm_cmpeq_epi16 (__m128i __A, __m128i __B)
       ^~~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:196:20: note: called from here
               comparison = _mm_cmpeq_epi16(data, zeroes);
               ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
                       from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
                       from ../../../include/QtCore/5.15.0/QtCore/private/../../../../../../../qt5.15/qtbase/src/corelib/tools/qsimd_p.h:191,
                       from ../../../include/QtCore/5.15.0/QtCore/private/qsimd_p.h:1,
                       from /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:53:
      /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:695:1: error: inlining failed in call to always_inline ‘__m128i _mm_load_si128(const __m128i*)’: function attribute mismatch
       _mm_load_si128 (__m128i const *__P)
       ^~~~~~~~~~~~~~
      /home/mitch/dev/qt5.15/qtbase/src/corelib/text/qstring.cpp:194:14: note: called from here
               data = _mm_load_si128(reinterpret_cast<const __m128i *>(ptr));
               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      This only started happening recently.

      My gcc is the latest for my distro, and the combination is supported for 5.15:

      https://doc.qt.io/qt-5/supported-platforms.html#linux-x11

      Attachments

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

        Activity

          People

            thiago Thiago Macieira
            mitch_curtis Mitch Curtis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes