簡體   English   中英

g ++:AVX沒有這樣的指令

[英]g++: No Such Instruction with AVX

當我編寫一個用C ++編寫的程序時(對於最新的Macbook pro,它當然支持AVX指令集),我得到了以下錯誤。 我正在使用從Macports獲得的最新版g ++。 您是否有任何想法,我可以做什么來修復錯誤,而不限制編譯器可用的指令集? 是否有任何特別的包我應該嘗試更新?

g++-mp-4.7 -std=c++11 -Wall -Ofast -march=native -fno-rtti src/raw_to_json.cpp -o bin/raw_to_json.bin
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1831:no such instruction: `vpxor %xmm0, %xmm0,%xmm0'
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1847:no such instruction: `vmovdqa %xmm0, 96(%rsp)'
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1848:no such instruction: `vmovdqa %xmm0, 112(%rsp)'
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1849:no such instruction: `vmovdqa %xmm0, 128(%rsp)'
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1850:no such instruction: `vmovdqa %xmm0, 144(%rsp)'
/var/folders/83/tjczqmxn1y9166m642_rxdlw0000gn/T//cc0hIx0w.s:1851:no such instruction: `vmovdqa %xmm0, 160(%rsp)'

謝謝您的幫助!

解決這個問題的一個更簡單的解決方案是在編譯器標志中添加-Wa,-q as (版本1.38)的手冊頁:

-q使用clang(1)集成匯編程序代替基於GNU的系統匯編程序。

感謝Conrado PLG 在這里回答他自己的問題。 簡而言之,我必須做以下事情:

  1. 移動或以其他方式擺脫舊的as ,在發現/opt/local/bin/../local/libexec/as/x86_64/as
  2. 復制文森特Habchi劇本,發現在這里 ,到/opt/local/bin/../local/libexec/as/x86_64/as
  3. sudo chmod +x腳本。

請注意,由於調用匯編程序需要首先通過shell腳本,因此可能會出現性能下降。

暫無
暫無

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

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