概述
CSEL
条件选择,返回第一个或第二个输入
语法
CSEL Xd, Xn, Xm, cond
Xd
一般是ARM64的通用寄存器名称,x0-x31。目的寄存器计算后将存入此寄存器。
Xn
一般是ARM64的通用寄存器名称,x0-x31。第一个源操作数,符合条件则将其存入Xd。
Xm
一般是ARM64的通用寄存器名称,x0-x31。第二个源操作数,不符合条件则将其存入Xd。
cond
条件(如下表)
条件码(助记) | 描述 |
---|---|
EQ | 等于 |
NE | 不等于 |
CS | 无符号数大于/等于 |
HS | 无符号数大于/等于 |
CC | 无符号数小于 |
LO | 无符号数小于 |
MI | 负数 |
PL | 非负数 |
VS | 上溢出 |
VC | 没有上溢出 |
HI | 无符号数大于 |
LS | 无符号数小于/等于 |
GE | 大于等于 |
LT | 小于 |
GT | 大于 |
LE | 小于等于 |
AL | 无条件执行 |
示例
.section .data //定义数据段
.align 3
print_data: //定义字符串
.string "最大数:%d n"
.section .text //定义代码段
.globl main //定义入口函数
main:
mov x3,90
mov x2,100
cmp x2, x3
csel x1,x2,x3,hi
ldr x0, =print_data //加载print_data最后一个数
bl printf
ret
最后
以上就是自信冰棍为你收集整理的ARMv8指令的学习记录一 CSEL的全部内容,希望文章能够帮你解决ARMv8指令的学习记录一 CSEL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复