NEONを使用してAndroidコードを最適化しようと試み始めたところです。ただし、いくつか問題があります。主な問題は、16ビットから浮動小数点への迅速な変換を行う方法を実際に理解できないことです。
vcvt.s32.f32を使用して、複数の32ビットintを1つのSIMD命令でfloatに変換できることがわかりました。ただし、4つのS16のセットを4つのS32に変換するにはどうすればよいですか?VUZP命令と関係があると思いますが、どうしたらいいのかわかりません...
同様に、VCVT.s16.f32を使用して一度に116ビットをフロートに変換することは可能ですが、これは便利ですが、SIMDを使用して変換できないことは非常に無駄に思えます。
私は何年にもわたって多くの異なるプラットフォームでアセンブラを作成してきましたが、ARMのドキュメントは何らかの理由で完全に理解できないと感じています。
そのようなものとして、どんな助けでも大いに感謝されるでしょう。
また、NEONユニットのスループットとレイテンシの数値を取得する方法はありますか?
前もって感謝します!