18.36 同等のコンパイラ組み込み関数のない NEON 命令

大半の NEON 命令には、限られた数の命令のサブセットを除いて、同等の NEON コンパイラ組み込み関数があります。

NEON 命令に同等のコンパイラ組み込み関数がない場合でも、その動作は異なるコンパイラ組み込み関数または標準の C 演算を使用して表記されます。同等のコンパイラ組み込み関数がない NEON 命令の一覧は、以下の表にあります。

表 18-2 同等のコンパイラ組み込み関数のない NEON 命令

NEON 命令 代替
VBIF
VBIT
vbsl* コンパイラ組み込み関数は、レジスタの割り当てによって、 VBSL/VBIF/VBIT のいずれかにコンパイルされます。
VLDM
VLDR
VSTM
VSTR
これらの命令は、浮動小数点型およびベクタのデータ型へのアクセスに対応するようにコンパイラによって自動作成されます。
VMRS
VMSR
名前付きレジスタ変数 __asm("fpscr") を使用すると、浮動小数点ステータスおよび制御レジスタ(FPSCR)にアクセスできます。名前付きレジスタ変数を使用すると、コンパイラにより、必要に応じて、VMRS/VMSR 命令が生成されます。
VPOP
VPUSH
これらの命令は、呼び出された側で保存されたレジスタの保存および復元に使用されます。コンパイラは、関数のエントリポイントと終了ポイントで、関数で使用されているレジスタに応じてそれらを自動生成します。
VSWP コンパイラ組み込み関数は、レジスタの割り当ておよびアクセスを組み込むために変数を使用するため、この命令には、コンパイラ組み込み関数としての利点は全くありません。結果的に、変数のスワップは、簡単な C スタイルの変数割り当てを使用すると実行できます。
関連する参考文書
18.4 加算の NEON 組み込み関数
18.5 乗算の NEON 組み込み関数
18.6 減算の NEON 組み込み関数
18.7 比較の NEON 組み込み関数
18.8 絶対差の NEON 組み込み関数
18.9 最大値と最小値の NEON 組み込み関数
18.10 対加算の NEON 組み込み関数
18.11 最大値の畳み込みの NEON 組み込み関数
18.12 最小値の畳み込みの NEON 組み込み関数
18.13 逆数と平方根の NEON 組み込み関数
18.14 符号付き変数によるシフトの NEON 組み込み関数
18.15 定数によるシフトの NEON 組み込み関数
18.16 シフトして挿入の NEON 組み込み関数
18.17 単一ベクタまたはレーンのロードの NEON 組み込み関数
18.18 単一ベクタまたはレーンをストアするための NEON 組み込み関数
18.19 n 要素構造体のロードの NEON 組み込み関数
18.20 ベクタからのレーンの抽出とレジスタへの挿入の NEON 組み込み関数
18.21 リテラルからの単一のベクタレーンのロードの NEON 組み込み関数
18.22 リテラルビットパターンからのベクタの初期化の NEON 組み込み関数
18.23 すべてのレーンを同じ値に設定するための NEON 組み込み関数
18.24 ベクタの結合の NEON 組み込み関数
18.25 ベクタの分割の NEON 組み込み関数
18.26 ベクタの変換の NEON 組み込み関数
18.27 テーブル検索の NEON 組み込み関数
18.28 拡張テーブル検索の NEON 組み込み関数
18.29 スカラ値での演算の NEON 組み込み関数
18.30 ベクタ抽出のための NEON 組み込み関数
18.31 ベクタ要素反転のための NEON コンパイラ組み込み関数(エンディアン方式のスワップ)
18.32 その他の単一オペランドの数学関数の NEON 組み込み関数
18.33 論理演算の NEON 組み込み関数
18.34 転置操作の NEON 組み込み関数
18.35 ベクタのキャスト操作用 NEON 組み込み関数
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.