相关疑难解决方法(0)

-msse,-msse2,-mssse3,-msse4 rtc的cflgs sse选项有什么不同?以及如何确定?

对于GCC CFLAGS选项:-msse,-msse2,-mssse3,-msse4,-msse4.1,-msse4.2.它们是独家使用还是可以一起使用?

我的理解是,选择要设置的位置取决于程序将运行的目标拱,是否支持,这是正确的吗?

如果是这样,我怎么知道我的目标拱支持什么?在Linux中,我是cat/proc/cpuinfo,但是如果是mac还是Windows呢?

谢谢!

gcc sse gnu g++ compiler-flags

18
推荐指数
1
解决办法
2万
查看次数

调用always_inline'_mm_mullo_epi32'时内联失败:目标特定选项不匹配

我正在尝试使用使用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")
Run Code Online (Sandbox Code Playgroud)

我尝试了相同的和许多其他选项.但我的项目仍然无法编译.

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")  
Run Code Online (Sandbox Code Playgroud)

c x86 sse simd cmake

8
推荐指数
2
解决办法
5861
查看次数

标签 统计

sse ×2

c ×1

cmake ×1

compiler-flags ×1

g++ ×1

gcc ×1

gnu ×1

simd ×1

x86 ×1