RISC-V 指令集在线查询手册

指令 · 寄存器 · CSR · ABI

RVOPcode 是面向开发者的 RISC-V 指令集在线查询手册。你可以按助记符、扩展、功能、场景快速查询指令语法、编码、示例,也可以查看通用寄存器、CSR、ABI 调用约定、伪指令展开和指令格式说明。

试试搜索:addi·jalr·mstatus·ra·call·I-type·函数调用
怎么使用搜索

可直接搜索助记符、ABI 名、CSR 名称或中文主题词。

指令寄存器CSR主题↑ ↓ 切换Enter 打开

当前搜索记录

还没有搜索记录

核心入口

多维度分类浏览

按格式
AMOAMO-typeB-typeCC-typeC2 (Zcmp CMPP)CA formatCA-formatCB-formatCBO MISC-MEM fixed fieldsCI formatCI-formatCJ formatCL-formatCR formatCS-formatCSS-formatI-typeI-type (HINT)I-type (OP-IMM)I-type (OP-IMM-32)I-type (OP-IMM-32, RV64)J-typeOP-32 (R-type)OP-FPOP-FP conversion fieldsOP-FP move fieldsOP-IMM (I-type)OP-VOP-V (OPFVF)OP-V (OPFVV)OP-V (OPIVV)OP-V / OPFVFOP-V / OPFVVOP-V / OPFVV VFUNARY1OP-V / OPIVIOP-V / OPIVVOP-V / OPIVXOP-V OPIVV (funct6=010101, funct3=000)OP-V OPIVX (funct6=010101, funct3=100)OP-V OPMVV (funct6=010010, vs1=01001, funct3=010)OP-V VXUNARY0 (funct3=010)OP-V vector arithmetic formatOP-V vector configuration (immediate AVL)OP-V vector configuration (register vtype)OP-V vector-configuration formatOP-V vector-immediate formOP-V vector-scalar formOP-V vector-vector formOP-VE OPMVV (funct6=101000, vm=1, vs1=10001, funct3=010)OP-VE OPMVV (funct6=101100, vm=1, funct3=010)OPFVFOPFVVOPIVIOPIVI (OP-V)OPIVVOPIVV (OP-V)OPIVXOPIVX (OP-V)OPMVVOPMVV (OP-V)OPMVXR-typeR-type (OP with bs in bits 31:30)R-type HINT (ADD x0, x0, x2)R-type HINT (ADD x0, x0, x3)R-type HINT (ADD x0, x0, x4)R-type HINT (ADD x0, x0, x5)R4-typeS-typeSYSTEM (MOP.R.28)SYSTEM (MOP.RR.7)SYSTEM (R-type encoding)SYSTEM R-typeSYSTEM R-type fieldsU-typeU-type (AUIPC HINT)V-typeV-type (OP-V / OPFVF)V-type (OP-V / OPFVV VFUNARY0)V-type (OP-V / OPFVV)V-type (OP-V / OPIVI)V-type (OP-V / OPIVV)V-type (OP-V / OPIVX)V-type (OP-VE / OPMVV)Vector OP-V (OPIVI)Vector OP-V (OPIVV)Vector OP-V (OPIVX)Vector OP-VE (OPMVV)Zimop MOP.RR SYSTEM fields
按场景
地址与指针寄存器操作循环与迭代常量与立即数特定用途函数调用与返回分支与跳转数据加载数据存储比较与判断类型转换位操作与掩码调试与监控系统与特权执行环境调用大小端与字节流水线填充与代码对齐替代被禁用的指令(如nopout)性能分析中作为空指令占位符数组与内存访问设备与IO乘法与除法位操作逻辑运算内存排序设备与 IO并发同步RV64专用操作无符号数据加载原子与同步CSR 访问自修改代码JIT编译动态代码生成XLEN位整数乘法有符号乘积高半多字有符号乘法无符号乘积高半RV64低32位整数乘法RV64 专用操作32 位原子操作有符号比较边界值更新无符号比较无符号边界值Zcmop May-Be-Operations扩展定义的行为地址生成位计数整数比较整数最值字节零检测加密与安全网络与字节序信号处理与DSP扩展兼容性原子操作与同步并发与多核节能优化浮点基本运算数值计算浮点条件判断浮点融合运算浮点比较构造浮点位模式NaN payload 保留调试原始编码浮点位模式检查符号操作浮点位操作浮点类型检测NaN 检测特殊值处理分支数学库实现双精度数值计算几何计算科学计算浮点格式转换浮点转换与比较双精度位模式构造RV64 原始编码调试双精度位模式检查浮点算术浮点访存数据加载与存储整数到浮点转换浮点到整数转换浮点位移动调试与位模式检查JavaScript 引擎WebAssembly模运算浮点常量RV32 双精度数据搬移浮点舍入数值格式处理浮点内存访问深度学习推理(降精度)BF16模型部署内存带宽优化BF16推理时类型提升BF16↔FP32互操作缓存与提示间接跳转与返回栈访问位移操作栈分配对象的指针生成压缩代码中的地址计算栈帧寄存器保存有符号整数缩放压缩与代码优化压缩位运算有符号字节值扩展有符号半字值扩展紧凑半字存储寄存器零扩展安全机制加密与密码向量化加速向量整数算术拓宽运算向量化循环定点平均运算向量数据处理RVV 掩码执行多精度整数运算大数加法数组运算保留特定位、清除位字段或组合逐元素位掩码RVV 逐元素位操作稀疏数据压缩流式压缩向量化整数缩放批量求商DSP向量浮点运算数值分类NaN/无穷检测向量化数据清洗整数数据转浮点向量混合类型向量计算向量化数值准备浮点结果转整数向量截断型数值转换按 frm 舍入转换向量归一化按标量缩放逐元素浮点除法条件循环控制掩码遍历矩阵运算多项式求值矩阵乘法信号处理常数偏移标量阈值裁剪逐元素浮点最大值向量数值比较阈值上限选择条件赋值三元运算符逐元素浮点最小值阈值下限选择级数求和交替符号运算缩放增益调节向量浮点乘法逐元素乘法归约结果提取标量-向量接口归约初始化标量写入元素0向量初始化常数广播高精度浮点计算后压缩格式浮点向量存储前窄化宽有符号整数压缩为较窄浮点格式混合整数/浮点向量处理宽无符号整数压缩为较窄浮点格式向量数值格式转换多步浮点窄化避免二次舍入误差的中间步骤宽浮点截断为较窄有符号整数向量化格式转换需要截断语义的格式压缩宽浮点到较窄无符号整数宽浮点结果落地为较窄有符号整数转换后存储或整数后处理宽浮点结果落地为较窄无符号整数向量化格式压缩交替加减倒数缩放除法优化Newton-Raphson向量归约极值查找最小值查找向量求和点积高性能归约常数减向量用标量符号控制向量向量 copysign逐元素符号复制逐 lane 复制符号位构造向量 copysign符号位教学演示用标量相反符号控制向量批量改变结果符号符号位取反逐 lane 注入相反符号构造向量负 copysign用标量符号条件翻转向量符号位 XOR向量绝对值/取反构造逐 lane 条件翻转符号逐元素平方根向量范数差分高精度累加混合精度binary32 向量提升到 binary64混合精度浮点计算入口扩宽后进行更高精度处理整数向量提升到 binary64 浮点混合精度向量计算入口保留 32-bit 整数精度的浮点路径浮点结果写入 64-bit 整数向量混合类型向量转换需要双倍宽度整数结果的数值路径高精度矩阵运算混合精度ML高精度求和拓宽求和高精度差分序列生成循环计数器用作gather索引稀疏数据索引压缩辅助条件收集连续数组读取向量化内存访问向量化字符串扫描探测连续内存边界可缩短 vl 的向量读取恢复 packed mask 数据向量掩码保存/恢复掩码 spill/fill有顺序要求的间接读取设备或有副作用地址空间访问稀疏表读取结构体字段访问矩阵列或行跨距访问非连续向量读取稀疏数据读取无顺序要求的 gather 访问间接数组装载卷积矩阵/张量运算卷积/滤波器多精度加法大整数运算进位传递向量内积缩放累加数据裁剪阈值处理掩码扩展生成谓词掩码NaN 检查向量化条件执行多精度减法循环终止条件数据依赖退出条件执行范围检查通用乘法定点运算分数乘法设置元素 0向量常量初始化复制向量寄存器 body 元素广播整数标量读取向量元素 0提取向量标量结果编译器寄存器重排向量寄存器组重排复制完整向量寄存器组定点结果窄化向量 DSP 缩放输出需要饱和标志的宽到窄转换定点缩放与舍入输出向量整数乘积累减SEW 宽破坏性乘减向量标量整数乘积累减定点缩放精度降级设置特定位、合并位字段或组合逐元素数据位模式循环条件判断掩码密度统计全局聚合数据归一化条件判断向量化模运算周期索引计算查表数据重排压缩/解压缩大数据查表稀疏数据访问对称范围计算补码运算连续数组写入循环stripmining向量长度配置上下文切换向量状态恢复向量整数扩展EEW 到 SEW 扩展V 标准向量扩展数据移位移位寄存器向量运算乘以2的幂保存 packed mask 数据上下文切换中的掩码状态保存定点 DSP 分数乘法音频和信号处理内核需要饱和标志的向量定点计算有顺序要求的间接写入设备或有副作用地址空间写入稀疏表更新有符号移位位域操作非连续向量写回向量移位DSP 数据路径稀疏数据写入无顺序要求的 scatter 访问间接数组存储整数乘法多精度累加多精度计算求向量和点积累加统计聚合无符号拓宽求和有符号拓宽减法无符号拓宽运算翻转特定位、组合奇偶位模式或逐元素差异掩码机器学习predicate 条件组合mask logical family 对比masked execution 前的掩码构造性能优化操作系统接口数据安全密钥调度哈希算法国密算法字节内位序重排逐字节 bit 反转前向CFI保护间接调用/跳转目标标记安全加固寄存器内位交错寄存器内查表M模式中断/异常处理程序返回固件/SEE返回OS内核异常/中断返回空闲循环节能低功耗等待修改页表后同步TLBmunmap/mprotect后刷新地址空间切换调试器返回硬件断点恢复虚拟化内存管理G-stage 页表同步VMID 范围围栏VS-stage 页表同步ASID 范围围栏Hypervisor设备仿真Guest内存访问虚拟化指令模拟内存管理地址转换失效地址转换缓存失效Svinval 序列G-stage 失效虚拟化 TLB shootdownVS-stage 失效代码优化

每日指令

寄存器ABI用途保存者
x0zero零值常量N/A
x1ra函数返回地址调用者
x2sp栈指针被调用者
x3gp全局指针;不可由普通过程分配或改写。N/A
x4tp线程指针,用于访问线程局部存储(TLS);普通函数不应改写。N/A
x5t0临时变量/备用链接寄存器调用者
x10a0参数/返回值调用者
x11a1参数/返回值调用者