2
我的機器是Core2微體系結構,我試圖編譯一些針對SSE指令集的算術代碼。我在網絡和官方手冊上搜索過,我相信我所要做的就是添加國旗-march=native
,因爲我的芯片支持SSE。無法通過gcc中的「-march = native」或者Core2芯片中的任何其他標誌激活SSE指令集
但是,當我使用gcc -march=native -Q --help=target -v
來檢查標誌是否真正起作用時,屏幕上顯示的結果不是我所期望的。例如:
-msse [disabled]
-msse2 [disabled]
-msse2avx [disabled]
-msse3 [disabled]
-msse4 [disabled]
-msse4.1 [disabled]
-msse4.2 [disabled]
-msse4a [disabled]
-msse5
-msseregparm [disabled]
-mssse3 [disabled]
我發現所有的SSE(甚至MMX)指令都被禁用。 任何人都可以告訴我爲什麼以及如何解決它? 非常感謝!
而且我知道另一種激活該選項的方法是手動添加-mmsse等標誌。但是,我很好奇,爲什麼march = native在我的系統中不起作用:core2,Ubuntu 12.04(64位系統),gcc 4.6.3 – user2719257
我不會依賴:'native' - try:'-march = core2 '。 –
當我嘗試-march = core2時,會得到相同的結果 – user2719257