NEON 命令

Table 15 に NEON 命令の概要を示します。これらの命令は VFP では使用できません。

Table 15. NEON 命令の参照ページ

ニーモニック概要ページ
VABAVABD絶対差、絶対差と累積VABA{L}、VABD{L}
VABS絶対値V{Q}ABS および V{Q}NEG
VACGEVACGT以上(絶対値比較)、超VACGE および VACGT
VACLEVACLT以下(絶対値比較)、未満(疑似命令)VACLE および VACLT
VADD加算V{Q}ADD、VADDL、VADDW、V{Q}SUB、VSUBL、VSUBW
VADDHN加算、上位半分の選択V{R}ADDHN および V{R}SUBHN
VANDビット単位論理積VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VANDビット単位論理積(疑似命令)VAND および VORN (イミディエート)
VBICビット単位ビットクリア(レジスタ)VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VBICビット単位ビットクリア(イミディエート)VBIC および VORR (イミディエート)
VBIFVBITVBSLFalse の場合はビット単位挿入、True の場合はビット単位を挿入、および選択VBIF、VBIT、VBSL
VCEQVCLEVCLT等しい(比較)、以下(比較)、未満(比較)VCEQ、VCGE、VCGT、VCLE、および VCLT
VCGEVCGT以上(比較)、超(比較)VCEQ、VCGE、VCGT、VCLE、および VCLT
VCLEVCLT以下(比較)、未満(比較、疑似命令)VCLE および VCLT
VCLSVCLZVCNT先行符号ビットカウント、先行ゼロカウント、およびセットビットカウントVCLS、VCLZ、VCNT
VCVT固定小数点または整数から浮動小数点への変換、浮動小数点から整数または固定小数点への変換VCVT(固定小数点または整数と浮動小数点間)
VCVT半精度浮動小数点数と単精度浮動小数点数間の変換VCVT(半精度浮動小数点数と単精度浮動小数点数間の変換)
VDUPベクタの全レーンへのスカラの複製VDUP
VEORビット単位排他的論理和(XOR)VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VEXT抽出VEXT
VFMAVFMS結合積和、結合積差(ベクタ)VFMA、VFMS
VHADDVHSUB二分加算、二分減算V{R}HADD および VHSUB
VLDベクタロードNEON 要素と構造体のロード/ストア命令
VMAXVMIN最大値、最小値VMAX、VMIN、VPMAX、VPMIN
VMLAVMLS積和、積差(ベクタ)VMUL{L}、VMLA{L}、VMLS{L}
VMLAVMLS積和、積差(スカラによる)VMUL{L}、VMLA{L}、VMLS{L}(スカラによる)
VMOV移動(イミディエート)VMOV、VMVN(イミディエート)
VMOV移動(レジスタ)VMOV、VMVN(レジスタ)
VMOVLVMOV{U}NLong 移動、Narrow 移動(レジスタ)VMOVL, V{Q}MOVN, VQMOVUN
VMUL乗算(ベクタ)VMUL{L}、VMLA{L}、VMLS{L}
VMUL乗算(スカラによる)VMUL{L}、VMLA{L}、VMLS{L}(スカラによる)
VMVN負の移動(イミディエート)VMOV、VMVN(イミディエート)
VNEG否定V{Q}ABS および V{Q}NEG
VORNビット単位否定論理和VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VORNビット単位否定論理和(疑似命令)VAND および VORN (イミディエート)
VORRビット単位論理和(レジスタ)VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VORRビット単位論理和(イミディエート)VBIC および VORR (イミディエート)
VPADDVPADALペアワイズ加算、ペアワイズ加算累積VPADD{L}、VPADAL
VPMAXVPMINペアワイズ最大値、ペアワイズ最小値VMAX、VMIN、VPMAX、VPMIN
VQABS絶対値、サチュレートV{Q}ABS および V{Q}NEG
VQADD加算、サチュレートV{Q}ADD、VADDL、VADDW、V{Q}SUB、VSUBL、VSUBW
VQDMLALVQDMLSLサチュレートダブル積和、積差VQDMULL、VQDMLAL、VQDMLSL(ベクタまたはスカラによる)
VQDMULサチュレートダブル乗算VQDMULL、VQDMLAL、VQDMLSL(ベクタまたはスカラによる)
VQDMULH

上位半分を返すサチュレートダブル乗算

VQ{R}DMULH(ベクタまたはスカラによる)
VQMOV{U}Nサチュレート移動(レジスタ)VMOVL, V{Q}MOVN, VQMOVUN
VQNEG否定、サチュレートV{Q}ABS および V{Q}NEG
VQRDMULH

上位半分を返すサチュレートダブル乗算

VQ{R}DMULH(ベクタまたはスカラによる)
VQRSHL左シフト、丸め、サチュレート(符号付き変数による)V{Q}{R}SHL(符号付き変数による)
VQRSHR{U}N右シフト、丸め、サチュレート(イミディエートによる)VQ{R}SHR{U}N(イミディエートによる)
VQSHL左シフト、サチュレート(イミディエートによる)VSHL、VQSHL、VQSHLU、および VSHLL (イミディエートによる)
VQSHL左シフト、サチュレート(符号付き変数による)V{Q}{R}SHL(符号付き変数による)
VQSHR{U}N右シフト、サチュレート(イミディエートによる)VQ{R}SHR{U}N(イミディエートによる)
VQSUB減算、サチュレートV{Q}ADD、VADDL、VADDW、V{Q}SUB、VSUBL、VSUBW
VRADDHN加算、上位半分の選択、丸めV{R}ADDHN および V{R}SUBHN
VRECPE逆数の推定VRECPE および VRSQRTE
VRECPS逆数のステップVRECPS および VRSQRTS
VREV要素の順番の反転VREV
VRHADD二分加算、丸めV{R}HADD および VHSUB
VRSHRVRSRA右シフトして丸め、右シフト、丸め、累積(イミディエートによる)V{R}SHR{N}, V{R}SRA(イミディエートによる)
VRSQRTE逆平方根の推定VRECPE および VRSQRTE
VRSQRTS逆平方根のステップVRECPS および VRSQRTS
VRSUBHN減算、上位半分の選択、丸めV{R}ADDHN および V{R}SUBHN
VSHL左シフト(イミディエートによる)VSHL、VQSHL、VQSHLU、および VSHLL (イミディエートによる)
VSHR右シフト(イミディエートによる)V{R}SHR{N}, V{R}SRA(イミディエートによる)
VSLI左シフトして挿入VSLI および VSRI
VSRA右シフト、累積(イミディエートによる)V{R}SHR{N}, V{R}SRA(イミディエートによる)
VSRI右シフトして挿入VSLI および VSRI
VSTベクタストアNEON 要素と構造体のロード/ストア命令
VSUB減算V{Q}ADD、VADDL、VADDW、V{Q}SUB、VSUBL、VSUBW
VSUBHN減算、上位半分の選択V{R}ADDHN および V{R}SUBHN
VSWPベクタのスワップVSWP
VTBLVTBXベクタテーブルの検索VTBL、VTBX
VTRNベクタ置換VTRN
VTSTテストビットVTST
VUZPVZIPベクタのインターリーブとインターリーブの解除VUZP、VZIP

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211