我是靠谱客的博主 自信冰棍,最近开发中收集的这篇文章主要介绍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指令的学习记录一 CSEL所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部