armv7 命令セットを備えた ARM プロセッサを搭載した iPhone 4 用の Eigen ライブラリのコンパイルに苦労しています。プリプロセッサ定義 EIGEN_DONT_VECTORIZE を指定すると、これまでのところすべて正常に動作します。しかし、いくつかのパフォーマンスの問題により、armv7 に最適化されたコードを使用したいと考えています。
LLVM-GCC 4.2 と LLVM CLang 2.0 のどちらのコンパイラを使用しても、常にコンパイル エラーが発生します。私は、LLVM-GCC 4.2 がこれらの ARM-NEON 固有の命令にアクセスする唯一の方法であることを理解しました (またはそう考えたほうがよいでしょう)。
EIGEN_DONT_VECTORIZE を設定しない (および -mfloat-abi=softfp -mfpu=neon を gcc に指定しない) と、次の gcc コンパイラ エラーが発生します。
src/m3CoreLib/Eigen/src/Core/arch/NEON/PacketMath.h:89: エラー: '__ extension__' の前に unqualified-id が必要です
「古い」gcc 4.2 の使用に関する問題と、新しいバージョンの gcc を使用するようにという推奨事項について読みました。よくわかりませんが、アプリストアの承認のため、これはオプションではないと思います. iPhone用にコンパイルするために他にできることはありますか? これを解決した人はいますか?
ありがとう、ケイ