我希望我的編譯器只使用指定版本的SSE指令。限制SSE指令集
現在看起來像-msse2 -mno-sse3 -mno-sse4 -mno-sse41 -mno-sse42
這樣做,但我正在尋找類似-monly-sse2
的東西。
我希望我的編譯器只使用指定版本的SSE指令。限制SSE指令集
現在看起來像-msse2 -mno-sse3 -mno-sse4 -mno-sse41 -mno-sse42
這樣做,但我正在尋找類似-monly-sse2
的東西。
除非你指定-msse3
/-march=<cpu-with-sse3>
只有SSE2將用於x86-64(甚至更低的x86指令集)。
但是,如果我指定-msse3?我如何告訴編譯器不要使用更新的指令? – Kentzo 2013-02-24 14:16:18
它將使用SSE3,但不使用SSSE3,SSE4.1,SSE4A或任何新的例外。但是,它會使用SSE和SSE2。 – 2013-02-24 15:49:50
不幸的是,這不是我所經歷的。例如。當我僅用'-msse3'編譯python時,結果二進制文件包含像'vroundsd'這樣的SSE4指令。但是,如果我通過附加'-mno-sse4'來明確禁用SSE4,則生成的二進制文件不包含這些指令。我的編譯器是'Apple LLVM 4.2版(clang-425.0.24)(基於LLVM 3.2svn)' – Kentzo 2013-02-24 16:36:28
這是gcc嗎?如果是這樣你可以添加標籤,它將吸引合適的人羣... – rene 2013-02-24 13:25:05
@rene解決方案應該與gcc和叮噹 – Kentzo 2013-02-24 13:30:36