gpt4 book ai didi

c - 调用 always_inline ‘_mm_mullo_epi32’ : target specific option mismatch 时内联失败

转载 作者:太空狗 更新时间:2023-10-29 17:02:22 48 4
gpt4 key购买 nike

我正在尝试使用使用 SIMD 内在函数的 cmake 编译 C 程序。当我尝试编译它时,出现两个错误

/usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:326:1: 错误:调用 always_inline '_mm_mullo_epi32' 时内联失败:目标特定选项错配 _mm_mullo_epi32 (__m128i __X, __m128i __Y)

/usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: 错误:调用 always_inline '_mm_shuffle_epi8' 时内联失败:目标特定选项错配 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)

这里已经解决了这个问题StackOverflow通过设置

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")

我尝试了完全相同的许多其他选项。但是我的项目仍然无法编译。

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")  
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -sse4_1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=nehalem")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -msse4.2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ssse3")

最佳答案

由于您正在编译 C 代码,而不是 C++,因此您需要:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1")

您可以摆脱所有其他 -march XXX-msseXXX 设置。

如果您混合使用 C 和 C++,那么您还可以添加:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")

关于c - 调用 always_inline ‘_mm_mullo_epi32’ : target specific option mismatch 时内联失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128698/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com