我是靠谱客的博主 自信冰棍,这篇文章主要介绍ARMv8指令的学习记录一 CSEL,现在分享给大家,希望可以做个参考。

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指令的学习记录一内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部