當我運行g++ -Q --help=target
時,我得到在g ++中默認啓用sse2嗎?
-msse2 [disabled]
。
但是,如果我創建的默認選項彙編代碼爲
g++ -g mycode.cpp -o mycode.o; objdump -S mycode.o > default
,
和sse2
版本
g++ -g -msse2 mycode.cpp -o mycode.sse2.o; objdump -S mycode.sse2.o > sse2
,
最後一個非SSE2版本
g++ -g -mno-sse2 mycode.cpp -o mycode.nosse2.o; objdump -S mycode.nosse2.o > nosse2
我看到default
和sse2
,但default
和nosse2
之間有很大的區別之間基本上沒有區別,所以這告訴我,默認情況下,G ++使用sse2
說明,即使我被告知它被禁用...這裏發生了什麼?
我正在使用gcc-4.4.7在Linux下的Xeon E5-2680上進行編譯(如果有的話)。
x64規範afaik包含SSE2指令,所以如果您正在編譯x64,它們可能默認爲打開。雖然沒有解釋'--help = target'輸出。 –
@ Laurbert515你編譯的i386或x86-64? – Uroc327