首页 > 解决方案 > 错误:调用 always_inline '__m128 _mm_cvtepi64_ps(__m128i)' 时内联失败:目标特定选项不匹配 _mm_cvtepi64_ps (__m128i __A)

问题描述

我不知道我为什么收到这条消息。我该如何解决?

g++ -c -o release/main.o main.cpp -Wall -fmessage-length=0 -march=native -O0
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:61:0,
                 from main.cpp:11:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512vldqintrin.h: In function ‘int main()’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512vldqintrin.h:829:1: error: inlining failed in call to always_inline ‘__m128 _mm_cvtepi64_ps(__m128i)’: target specific option mismatch
 _mm_cvtepi64_ps (__m128i __A)
 ^~~~~~~~~~~~~~~
main.cpp:100:13: note: called from here
    rsPacket = _mm_cvtepi64_ps(tmp128iPacket1);   //__m128i -> __m128
    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

处理器

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               69
Model name:          Intel(R) Core(TM) i5-4308U CPU @ 2.80GHz
Stepping:            1
CPU MHz:             2799.998
BogoMIPS:            5599.99
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase avx2 invpcid md_clear flush_l1d

即使我更改了功能,我也总是遇到同样的错误。我在用着; <immintrin.h>、<xmmintrin.h>、<emmintrin.h>。我还看到一个可能的解决方案是在 file.pro 中添加:QMAKE_CXXFLAGS +=-msse3。但我不知道如何找到它。

标签: c++gccx86-64intrinsicsavx512

解决方案


推荐阅读