【NEON 和 VFP 编程】NEON乘法指令

本节包括以下小节:

• VMUL{L}、VMLA{L} 和 VMLS{L}。

向量乘法、向量乘加和向量乘减。

• VMUL{L}、VMLA{L} 和 VMLS{L}(按标量)。

向量乘法、向量乘加和向量乘减(按标量)。

• VQDMULL、VQDMLAL 和 VQDMLSL(按向量或标量)

向量饱和加倍乘法、向量乘加和向量乘减(按向量或标量)。

• VQ{R}DMULH(按向量或标量)

返回高半部分的向量饱和加倍乘法(按向量或标量)。

一、VMUL{L}、VMLA{L} 和 VMLS{L}

VMUL(向量乘法)将两个向量中的相应元素相乘,并将结果存放到目标向量中。

VMLA(向量乘加)将两个向量中的相应元素相乘,并将结果累加到目标向量的元素中。

VMLS(向量乘减)将两个向量中的相应元素相乘,从目标向量的相应元素中减去相乘的结果,并将最终结果放入目标向量中。

语法

Vop{cond}.datatype {Qd}, Qn, Qm

Vop{cond}.datatype {Dd}, Dn, Dm

VopL{cond}.datatype Qd, Dn, Dm

其中:

op 必须是下列值之一:

MUL 乘法

MLA 乘加

MLS 乘减。

cond 是一个可选的条件代码。

datatype 必须是下列值之一:

I8、I16、I32、F32 对于 MUL、MLA 或 MLS

S8, S16, S32 对于 MULL、MLAL 或 MLSL

U8, U16, U32 对于 MULL、MLAL 或 MLSL

P8 对于 MUL 或 MULL。

Qd、Qn、Qm 是四字运算的目标向量、第一个操作数向量和第二个操作数向量。

Dd、Dn、Dm 是双字

猜你喜欢

转载自blog.csdn.net/tyyj90/article/details/103134841