天天看點

arm SIMD指令

對官網的部分翻譯說明:https://blog.csdn.net/ken_yjj/article/details/6797313

可以在這個網站檢視STM32中出現的一些SIMD指令,直接搜尋相關指令就可以了:

https://developer.arm.com/docs/100069/latest/a32-and-t32-instructions/uhadd8

更多SIMD指令的說明可以看官方的文檔:

https://download.csdn.net/download/hxudhdjuf/10386595

USADA8{

cond

Rd

Rn

Rm

Ra

cond 

is an optional condition code.

Rd   

is the destination register.

Rn   

is the register holding the first operand.

Rm   

is the register holding the second operand.

Ra   

is the register holding the accumulate operand.

Operation

The 

USADA8

 instruction adds the absolute values of the four differences to the value in 

Ra

, and saves the result to 

Rd

.

USAD8{

cond

} {

Rd

}, 

Rn

Rm

cond 

is an optional condition code.

Rd   

is the destination register.

Rn   

is the register holding the first operand.

Rm   

is the register holding the second operand.

Operation

The 

USAD8

 instruction finds the four differences between the unsigned values in corresponding bytes of 

Rn

 and 

Rm

. It adds the absolute values of the four differences, and saves the result to 

Rd

.

UADD8{cond}  {Rd}, Rn, Rm

cond    is an optional condition code.

Rd      is the destination general-purpose register.

Rm, Rn    are the general-purpose registers holding the operands.

Operation

This instruction performs four unsigned integer additions on the corresponding bytes of the operands and writes the results into the corresponding bytes of the destination. 

UHADD8

{

cond

} {

Rd

}, 

Rn

Rm

cond 

is an optional condition code.

Rd   

is the destination general-purpose register.

Rm, Rn 

are the general-purpose registers holding the operands.

Operation

This instruction performs four unsigned integer additions on the corresponding bytes of the operands, halves the results, and writes the results into the corresponding bytes of the destination. This cannot cause overflow.

将兩組4個8位無符号整型對應位元組相加并除以2.

繼續閱讀