本文主要是介绍【NEON 和 VFP 编程】NEON移位指令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节包括以下小节:
• VSHL、VQSHL、VQSHLU 和 VSHLL(按立即数)
按立即值左移。
• V{Q}{R}SHL(按有符号变量)
按有符号变量左移。
• V{R}SHR{N}、V{R}SRA(按立即数)
按立即值右移。
• VQ{R}SHR{U}N(按立即数)
按立即值右移并进行饱和。
• VSLI 和 VSRI
左移并插入,右移并插入。
一、VSHL、VQSHL、VQSHLU 和 VSHLL(按立即数)
向量左移、向量饱和左移和向量长型左移。
这些指令获取整数向量中的每个元素,按立即值对其进行左移,并将结果存放到目标向量中。
对于 VSHL,每个元素中从左侧移出的位将丢失。
对于 VQSHL 和 VQSHLU,在进行饱和的情况下将设置粘性 QC 标记(FPSCR 位[27])。
对于 VSHLL,将用符号或零对值进行扩展。
语法
V{Q}SHL{U}{cond}.datatype {Qd}, Qm, #imm
V{Q}SHL{U}{cond}.datatype {Dd}, Dm, #imm
VSHLL{cond}.datatype Qd, Dm, #imm
其中:
Q 如果存在,则指示在任何结果溢出时对其进行饱和。
U 仅当 Q 存在时才适用。 指示结果无符号,即使操作数有符号也是如此。
cond 是一个可选的条件代码
这篇关于【NEON 和 VFP 编程】NEON移位指令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!