2017-03-10 49 views
3

私はいくつかのARM SBCでいくつかの最適化されたビルドを作ろうとしています。それぞれのビルドはビルド対象のターゲットプラットフォーム上でのみ互換性があります。GCC:mtune vs march vs mcpu

-marchは-mtuneと比較してより好ましいと聞いたことがあります。これは、ホストCPUとのみ互換性のある命令を生成することによって、アーキテクチャファミリの他のcpusとの下位互換性を損なうためです。一方、-mtuneはこの互換性を維持します。

しかし、-marchは-marchまたは-mtuneの代わりに-mcpuが設定するのが最も良いフラグであることを読んだことがあります。-mcpuは-marmで指定されたより一般的なアーキテクチャ-mcpu = cortex-a8 over -march = armv7-a)のようなものです。

私はまた、-mcpuは非推奨であり、その機能は-mtuneと引き継がれていますが、これは以前のコメントと矛盾しています。マームは-mcpuと比較して望ましくない。私は全く他のCPUとの互換性を維持するために気にしないとき

基本的に、どのフラグ私のホストマシンのための最高のパフォーマンスが得られます。

答えて

3

-mcpuは、残念ながら異なるターゲットごとに異なる意味を持っています。それはa sum of -march and -mtuneの腕、のためdeprecated for x86-mtuneの同義語である)が、ありません。

だから、あなたの質問に答えるために - ARM上で、あなたは後方互換性のために気にしない限り、常に、最高のパフォーマンスを得るため-mcpuを使用しています。

関連する問題