error: attribute(target(“avx512vp2intersect“)) is unknown的解决方法

错误描述:在银河麒麟系统虚拟机上编译qt源码,qt源码版本为5.15.x版本,编译指令与报错如下:

user@user-pc:~/下载/qt-everywhere-src-5.15.17/build$ ../configure --prefix=/usr/local/qt5.15.17 -static -opensource -confirm-license  -nomake examples -nomake tests

+ cd qtbase
+ /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/configure -top-level --prefix=/usr/local/qt5.15.17 -static -opensource -confirm-license -nomake examples -nomake tests
Preparing build tree...
Creating qmake...
.In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:99,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:191,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/qsimd_p.h:1,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/src/corelib/codecs/qutfcodec.cpp:46:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectintrin.h:33:40: error: attribute(target("avx512vp2intersect")) is unknown
   33 | #pragma GCC target("avx512vp2intersect")
      |                                        ^
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectintrin.h: In function ‘void _mm512_2intersect_epi32(__m512i, __m512i, __mmask16*, __mmask16*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectintrin.h:42:3: error: ‘__builtin_ia32_2intersectd512’ was not declared in this scope; did you mean ‘__builtin_ia32_truncpd512’?
   42 |   __builtin_ia32_2intersectd512 (__U, __M, (__v16si) __A, (__v16si) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_truncpd512
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectintrin.h: In function ‘void _mm512_2intersect_epi64(__m512i, __m512i, __mmask8*, __mmask8*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectintrin.h:50:3: error: ‘__builtin_ia32_2intersectq512’ was not declared in this scope; did you mean ‘__builtin_ia32_ptestnmq512’?
   50 |   __builtin_ia32_2intersectq512 (__U, __M, (__v8di) __A, (__v8di) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_ptestnmq512
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:101,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:191,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/qsimd_p.h:1,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/src/corelib/codecs/qutfcodec.cpp:46:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h: At global scope:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h:33:49: error: attribute(target("avx512vp2intersect")) is unknown
   33 | #pragma GCC target("avx512vp2intersect,avx512vl")
      |                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h: In function ‘void _mm_2intersect_epi32(__m128i, __m128i, __mmask8*, __mmask8*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h:41:3: error: ‘__builtin_ia32_2intersectd128’ was not declared in this scope; did you mean ‘__builtin_ia32_ptestnmd128’?
   41 |   __builtin_ia32_2intersectd128 (__U, __M, (__v4si) __A, (__v4si) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_ptestnmd128
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h: In function ‘void _mm256_2intersect_epi32(__m256i, __m256i, __mmask8*, __mmask8*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h:49:3: error: ‘__builtin_ia32_2intersectd256’ was not declared in this scope; did you mean ‘__builtin_ia32_vtestcpd256’?
   49 |   __builtin_ia32_2intersectd256 (__U, __M, (__v8si) __A, (__v8si) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_vtestcpd256
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h: In function ‘void _mm_2intersect_epi64(__m128i, __m128i, __mmask8*, __mmask8*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h:56:3: error: ‘__builtin_ia32_2intersectq128’ was not declared in this scope; did you mean ‘__builtin_ia32_ptestnmq128’?
   56 |   __builtin_ia32_2intersectq128 (__U, __M, (__v2di) __A, (__v2di) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_ptestnmq128
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h: In function ‘void _mm256_2intersect_epi64(__m256i, __m256i, __mmask8*, __mmask8*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512vp2intersectvlintrin.h:64:3: error: ‘__builtin_ia32_2intersectq256’ was not declared in this scope; did you mean ‘__builtin_ia32_ptestnmq256’?
   64 |   __builtin_ia32_2intersectq256 (__U, __M, (__v4di) __A, (__v4di) __B);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   __builtin_ia32_ptestnmq256
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:137,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:191,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/qsimd_p.h:1,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/src/corelib/codecs/qutfcodec.cpp:46:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: At global scope:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:33:41: error: attribute(target("avx512bf16")) is unknown
   33 | #pragma GCC target("avx512bf16,avx512vl")
      |                                         ^
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256bh _mm256_cvtne2ps_pbh(__m256, __m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:52:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v16hi’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v16hi’?
   52 |   return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi(__A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v16hi
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256bh _mm256_mask_cvtne2ps_pbh(__m256bh, __mmask16, __m256, __m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:59:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v16hi_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v16hi_mask’?
   59 |   return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_mask(__C, __D, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v16hi_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256bh _mm256_maskz_cvtne2ps_pbh(__mmask16, __m256, __m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:66:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v16hi_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v16hi_maskz’?
   66 |   return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_maskz(__B, __C, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v16hi_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_cvtne2ps_pbh(__m128, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:73:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v8hi’ was not declared in this scope; did you mean ‘__builtin_ia32_cvtpd2ps256_mask’?
   73 |   return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi(__A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_cvtpd2ps256_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_mask_cvtne2ps_pbh(__m128bh, __mmask8, __m128, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:80:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v8hi_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v8hi_mask’?
   80 |   return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_mask(__C, __D, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v8hi_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_maskz_cvtne2ps_pbh(__mmask8, __m128, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:87:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v8hi_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v8hi_maskz’?
   87 |   return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_maskz(__B, __C, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v8hi_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm256_cvtneps_pbh(__m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:96:20: error: ‘__builtin_ia32_cvtneps2bf16_v8sf’ was not declared in this scope; did you mean ‘__builtin_ia32_cvttps2qq512_mask’?
   96 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf(__A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_cvttps2qq512_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm256_mask_cvtneps_pbh(__m128bh, __mmask8, __m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:103:20: error: ‘__builtin_ia32_cvtneps2bf16_v8sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_cvtps2qq128_mask’?
  103 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_mask(__C, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_cvtps2qq128_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm256_maskz_cvtneps_pbh(__mmask8, __m256)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:110:20: error: ‘__builtin_ia32_cvtneps2bf16_v8sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v8si_maskz’?
  110 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_maskz(__B, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v8si_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_cvtneps_pbh(__m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:117:20: error: ‘__builtin_ia32_cvtneps2bf16_v4sf’ was not declared in this scope; did you mean ‘__builtin_ia32_cvttps2qq512_mask’?
  117 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf(__A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_cvttps2qq512_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_mask_cvtneps_pbh(__m128bh, __mmask8, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:124:20: error: ‘__builtin_ia32_cvtneps2bf16_v4sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v4si_mask’?
  124 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_mask(__C, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v4si_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128bh _mm_maskz_cvtneps_pbh(__mmask8, __m128)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:131:20: error: ‘__builtin_ia32_cvtneps2bf16_v4sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v4si_maskz’?
  131 |   return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_maskz(__B, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v4si_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256 _mm256_dpbf16_ps(__m256, __m256bh, __m256bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:140:18: error: ‘__builtin_ia32_dpbf16ps_v8sf’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v8si’?
  140 |   return (__m256)__builtin_ia32_dpbf16ps_v8sf(__A, __B, __C);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v8si
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256 _mm256_mask_dpbf16_ps(__m256, __mmask8, __m256bh, __m256bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:147:18: error: ‘__builtin_ia32_dpbf16ps_v8sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v8si_mask’?
  147 |   return (__m256)__builtin_ia32_dpbf16ps_v8sf_mask(__A, __C, __D, __B);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v8si_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m256 _mm256_maskz_dpbf16_ps(__mmask8, __m256, __m256bh, __m256bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:154:18: error: ‘__builtin_ia32_dpbf16ps_v8sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v8si_maskz’?
  154 |   return (__m256)__builtin_ia32_dpbf16ps_v8sf_maskz(__B, __C, __D, __A);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v8si_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128 _mm_dpbf16_ps(__m128, __m128bh, __m128bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:161:18: error: ‘__builtin_ia32_dpbf16ps_v4sf’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v4si’?
  161 |   return (__m128)__builtin_ia32_dpbf16ps_v4sf(__A, __B, __C);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v4si
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128 _mm_mask_dpbf16_ps(__m128, __mmask8, __m128bh, __m128bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:168:18: error: ‘__builtin_ia32_dpbf16ps_v4sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v4si_mask’?
  168 |   return (__m128)__builtin_ia32_dpbf16ps_v4sf_mask(__A, __C, __D, __B);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v4si_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h: In function ‘__m128 _mm_maskz_dpbf16_ps(__mmask8, __m128, __m128bh, __m128bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16vlintrin.h:175:18: error: ‘__builtin_ia32_dpbf16ps_v4sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v4si_maskz’?
  175 |   return (__m128)__builtin_ia32_dpbf16ps_v4sf_maskz(__B, __C, __D, __A);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v4si_maskz
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:139,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:191,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/qsimd_p.h:1,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/src/corelib/codecs/qutfcodec.cpp:46:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: At global scope:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:33:32: error: attribute(target("avx512bf16")) is unknown
   33 | #pragma GCC target("avx512bf16")
      |                                ^
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512bh _mm512_cvtne2ps_pbh(__m512, __m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:50:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v32hi’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v32hi’?
   50 |   return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi(__A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v32hi
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512bh _mm512_mask_cvtne2ps_pbh(__m512bh, __mmask32, __m512, __m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:57:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v32hi_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v32hi_mask’?
   57 |   return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_mask(__C, __D, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v32hi_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512bh _mm512_maskz_cvtne2ps_pbh(__mmask32, __m512, __m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:64:20: error: ‘__builtin_ia32_cvtne2ps2bf16_v32hi_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpshldv_v32hi_maskz’?
   64 |   return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_maskz(__B, __C, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpshldv_v32hi_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m256bh _mm512_cvtneps_pbh(__m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:73:20: error: ‘__builtin_ia32_cvtneps2bf16_v16sf’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v16si’?
   73 |   return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf(__A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v16si
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m256bh _mm512_mask_cvtneps_pbh(__m256bh, __mmask16, __m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:80:20: error: ‘__builtin_ia32_cvtneps2bf16_v16sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v16si_mask’?
   80 |   return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_mask(__C, __A, __B);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v16si_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m256bh _mm512_maskz_cvtneps_pbh(__mmask16, __m512)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:87:20: error: ‘__builtin_ia32_cvtneps2bf16_v16sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusd_v16si_maskz’?
   87 |   return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_maskz(__B, __A);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    __builtin_ia32_vpdpbusd_v16si_maskz
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512 _mm512_dpbf16_ps(__m512, __m512bh, __m512bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:96:18: error: ‘__builtin_ia32_dpbf16ps_v16sf’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v16si’?
   96 |   return (__m512)__builtin_ia32_dpbf16ps_v16sf(__A, __B, __C);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v16si
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512 _mm512_mask_dpbf16_ps(__m512, __mmask16, __m512bh, __m512bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:103:18: error: ‘__builtin_ia32_dpbf16ps_v16sf_mask’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v16si_mask’?
  103 |   return (__m512)__builtin_ia32_dpbf16ps_v16sf_mask(__A, __C, __D, __B);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v16si_mask
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h: In function ‘__m512 _mm512_maskz_dpbf16_ps(__mmask16, __m512, __m512bh, __m512bh)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bf16intrin.h:110:18: error: ‘__builtin_ia32_dpbf16ps_v16sf_maskz’ was not declared in this scope; did you mean ‘__builtin_ia32_vpdpbusds_v16si_maskz’?
  110 |   return (__m512)__builtin_ia32_dpbf16ps_v16sf_maskz(__B, __C, __D, __A);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  __builtin_ia32_vpdpbusds_v16si_maskz
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:141,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:191,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/include/QtCore/5.15.17/QtCore/private/qsimd_p.h:1,
                 from /home/zhangxiang1209/下载/qt-everywhere-src-5.15.17/qtbase/src/corelib/codecs/qutfcodec.cpp:46:
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h: At global scope:
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h:33:29: error: attribute(target("enqcmd")) is unknown
   33 | #pragma GCC target ("enqcmd")
      |                             ^
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h: In function ‘int _enqcmd(void*, const void*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h:41:10: error: ‘__builtin_ia32_enqcmd’ was not declared in this scope; did you mean ‘__builtin_ia32_xend’?
   41 |   return __builtin_ia32_enqcmd (__P, __Q);
      |          ^~~~~~~~~~~~~~~~~~~~~
      |          __builtin_ia32_xend
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h: In function ‘int _enqcmds(void*, const void*)’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/enqcmdintrin.h:48:10: error: ‘__builtin_ia32_enqcmds’ was not declared in this scope; did you mean ‘__builtin_ia32_emms’?
   48 |   return __builtin_ia32_enqcmds (__P, __Q);
      |          ^~~~~~~~~~~~~~~~~~~~~~
      |          __builtin_ia32_emms
make: *** [Makefile:383:qutfcodec.o] 错误 1

 错误分析:该错误发生在编译器处理avx512vp2intersectintrin.h头文件时,表明当前编译环境未显式启用AVX-512 VP2INTERSECT指令集选项该机器CPU不支持该指令集

解决过程:首先验证该机器否支持该指令集,验证指令如下:

lscpu | grep avx512

若有输出,则当前CPU支持 avx512相关指令集,此时说明编译构建脚本程序或编译构建指令未显式的启用avx512相关指令集,相关编译器的启用avx512指令集的方法如下(构建脚本程序的修改不做细节阐述,如有需要自行百度):

(1)GCC/Clang编译器需添加-mavx512vp2intersect选项

(2)若使用Intel编译器,需添加-xCOMMON-AVX512-xCORE-AVX512

若有输出,则当前CPU不支持 avx512相关指令集,则此时的解决方法主要有两种:

(1)下载未使用avx512指令集的低版本的待编译程序(此处为低版本的qt)【不推荐使用,因为当前时间为2025年,而avx512指令集在2011年intel酷睿2代芯片上就已经推出,若当前硬件不支持,则说明该机器也该报废了,若更改低版本的待编译程序,编译后的古老程序也不一定符合前的应用要求】;

(2)更换新机器搭建环境重新编译【推荐使用】。其中,若使用的机器为VM创建的虚拟机而非实体机,则可以更改虚拟机配置实现虚拟机CPU avx512指令集的支持,操作流程如下:①关闭虚拟机 ②编辑虚拟机设置 ③进入CPU选项 ④将CPU/MMU虚拟化修改为"硬件CPU和MMU模式" ⑤确保勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI"选项。然后重启虚拟机重新编译即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值