簡體   English   中英

未啟用SSE指令集

[英]SSE instruction set not enabled

我遇到這個錯誤的問題: “未啟用SSE指令集” 我怎么能搞清楚這一點?

我有ACER i7,Ubuntu 11.10,請任何人可以幫幫我嗎?

任何幫助將不勝感激!


還運行:

 sudo cat /proc/cpuinfo | grep flags

得到:

flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clfl
ush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfm
on pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl
vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt xsave avx lahf_lm 
ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid

實際上我正在嘗試安裝gazebo-1.0.0-RC2-x86_64,並收到此錯誤。

/usr/lib/gcc/i686-linux-gnu/4.6.1/include/emmintrin.h:32:3: error: #error "SSE2 
instruction set not enabled"
In file included from /home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/
deps/opende/src/quickstep.cpp:39:0:
/usr/lib/gcc/i686-linux-gnu/4.6.1/include/xmmintrin.h:32:3: error: #error "SSE i
nstruction set not enabled"
/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quicks
tep.cpp: In function ‘dReal dot6(dRealPtr, dRealPtr)’:
/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quicks
tep.cpp:537:3: error: ‘__m128d’ was not declared in this scope
...

我的cmakefile中已經有了這個選項

if (SSE3_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse3")
endif()
if (SSSE3_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -mssse3")
endif()
if (SSE4_1_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.1")
endif()
if (SSE4_2_FOUND)
  set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.2")
endif()

其中一個頭文件檢查以確保啟用了SSE。 看來您的if語句不起作用。

如果你添加-march=native它應該選擇最好的CPU arch和標志來根據你的處理器進行編譯,或者你可以顯式地使用-march=corei7 -mavx -mpclmul ,這對distcc非常有用。 此外, -mfpmath=sse/-mfpmath=387將告訴編譯器生成浮點數學的SSE / x87指令。 根據您的處理器,可能會更快,但我認為英特爾處理器通常在SSE上更好。

如果你想檢查gcc使用本機標志啟用什么,請運行gcc -march=native -Q --help=target -v

我得到了同樣的錯誤,我想我找到了合適的解決方案!

問題是你被包含在emmintrin.h中。 我做了同樣的事。 更重要的是,如果我在包含此文件之前定義了SSE2SSEMMX ,我收到以下消息:警告:“ SSE2 ”重新定義[默認啟用]

所以我試着調查SSE2的定義和/或使用位置我發現x86intrin.h包含了這個文件。 因此,請包含此文件,並根據-msse *標志自動包含正確的* intrin.h文件!

它很適合我(g ++ 4.7.2-5)。

我希望我能幫忙!

我剛剛在FreeBSD上構建了這個,將它添加到/usr/ports/audio/soundtouch的“Makefile”:

CC=             gcc46
CXX=            g++46
CPP=            cpp46
CFLAGS+=        -msse

我希望其余的“phonon-gstreamer”插件能夠用這個編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM