首页/指令库/VLSE64-V
VLSE64.V

RISC-V VLSE64.V 指令详解

指令手册R-type

按字节跨步 x[rs2] 从 x[rs1] 装入 64 位元素到 vd。

指令语法

vlse64.v vd, (rs1), rs2, vm
操作数说明
目标寄存器 rd:存放运算结果的通用寄存器。
源寄存器 rs1:第一个操作数寄存器。
源寄存器 rs2:第二个操作数寄存器。
V向量加载内存访问

指令行为说明

VLSE64.V 是 RISC-V V 扩展的64 位跨步向量装载指令。每个活动元素的地址为 x[rs1] + i * x[rs2],跨步单位是字节。 只处理 vl 范围内的活动元素,掩码与尾部行为遵循 RVV 规则。

快速理解与检索要点

跨步值来自整数寄存器 rs2,单位是字节,因此负跨步和零跨步都由该寄存器值表达。

EEW=64;目标元素按当前 SEW/LMUL 配置和指令 EEW 规则解释。
跨步是 x[rs2] 中的字节数,不按元素宽度隐式缩放。
vm=0 使用 v0 作为执行掩码,vm=1 表示不使用掩码;未活动元素和尾部元素按当前 vma/vta 策略处理。

常见使用场景

矩阵操作

结合 «li t1, 32 vsetvli t0, a0, e64, m1, ta, ma vlse64.v v1, (a0), t1» 等实际代码理解该场景。

跨步数组

结合 «li t1, 32 vsetvli t0, a0, e64, m1, ta, ma vlse64.v v1, (a0), t1» 等实际代码理解该场景。

使用前检查清单

语法检查
  • 确认当前指令格式为 R-type。
  • 确认操作数排列顺序与示例一致。
语义检查
  • 确认目标寄存器用途和调用约定兼容。
  • 确认该指令不是伪指令展开后的底层形式。

容易混淆 / 常见误区

跨步值在rs2中(字节单位,可为负)。EEW 固定为 64。
跨步值为标量寄存器值(动态可变)。与vle区别在于元素间增量可变。

常见问题

VLSE64.V 的地址偏移单位是什么?

跨步装载的 rs2 是字节跨步。

VLSE64.V 如何处理掩码?

vm=0 时用 v0 选择活动元素,vm=1 时所有 body 元素都参与;非活动和尾部元素按当前策略处理。