9.4 RVCT v3.1 と RVCT v4.0 の間でのコンパイラの変更点

RVCT v4.0 ではさまざまな変更が armcc に加えられました。

コンパイラについては、以下の点が変更されました。

コンパイラ実行可能ファイルの単一化

実行可能ファイル tccarmcpp、および tcpp は、提供されなくなりました。

Thumb 用にコンパイルするには、--thumb コマンドラインオプションを使用します。

C++ 用にコンパイルするには、--cpp コマンドラインオプションを使用します。

コンパイラは、これまでどおり、ファイルの拡張子が .cpp の場合は、自動的に C++ を選択します。

ベクトル化コンパイラ

NEON ベクトル化コンパイラが標準機能として提供されます。個別のアドオンとしては提供されなくなりました。NEON ベクトル化コンパイラを使用するためのライセンスは、ARM 開発ツールの Professional Edition に付属しています。

VAST の変更点

VAST は、2 つのバージョン(VAST 11 for 4.0 Alpha と 4.0 Alpha2 以降)を通じてアップグレードされました。以下の問題を除いて、v3.1 ビルドを変更しなくても、新しい VAST を使用できます。

RVCT v3.1 は、サチュレートする ALU 演算を再結合していました。つまり、次のようなプログラムでは、--vectorize--no_vectorize では異なる結果が生成される場合がありました。

int g_448464(short *a, short *b, int n) {     int i; short s = 0;     for (i = 0; i < n; i++)  s = L_mac(s, a[i], b[i]);     return s; }

RVCT v4.0 では、この問題のために、パフォーマンスの低下が起きることがあります。

再結合を許可するかどうかを指定するために、--reassociate_saturation および --no_reassociate_saturation コマンドラインオプションが追加されました。

関連する参考文書
9.2 RVCT v3.1 と RVCT v4.0 の間での全般的な変更点
関連情報
-cpp コンパイラオプション
--reassociate_saturation, --no_reassociate_saturation コンパイラオプション
--thumb コンパイラオプション
--vectorize, --no_vectorize コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0530JJ
Copyright © 2010-2013 ARM.All rights reserved.