5

C ++で書いていたプログラム(もちろんAVX命令セットをサポートする最新のMacbook pro用)をコンパイルすると、次のエラーが発生しました。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)'

助けてくれてありがとう!

4

2 に答える 2

6

この問題を解決する簡単な解決策は-Wa,-q、コンパイラ フラグに追加することでした。as(バージョン 1.38)のマニュアルページから:

-q GNU ベースのシステム アセンブラの代わりに、clang(1) 統合アセンブラを使用します。

于 2013-10-12T22:31:10.750 に答える
4

ここで彼自身の質問に対する Conrado PLG の回答のおかげで修正されました。要するに、私は次のことをしなければなりませんでした:

  1. にある古い を移動するか、別の方法で取り除きasます/opt/local/bin/../local/libexec/as/x86_64/as
  2. ここにあるVincent Habchi によるスクリプトを にコピーします/opt/local/bin/../local/libexec/as/x86_64/as
  3. sudo chmod +xスクリプト。

アセンブラを呼び出すには最初にシェル スクリプトを実行する必要があるため、パフォーマンスが低下する可能性があることに注意してください。

于 2012-08-18T06:39:27.803 に答える